標籤:網路管理 ip協議 glance linux 基礎知識
Linux系統入門
Linux系統管理
磁碟管理、檔案系統管理
RAID基礎原理、LVM2
網路管理:TCP/IP協議、Linux網路屬性配置
程式包管理:rpm, yum
進程管理:htop, glance, tsar等
sed和awk
Linux系統開機流程
核心管理基礎知識:編譯核心、模組
Linux系統裁剪
kernel+busybox
課外作業:LFS
回顧:find、特殊許可權、if語句
Linux磁碟管理
I/O Ports: I/O裝置地址;
一切皆檔案:
open(), read(), write(), close()
塊裝置:block,存取單位"塊",磁碟
字元裝置:char,存取單位"字元",鍵盤
裝置檔案:關聯至一個裝置驅動程式,進而能夠跟與之對應硬體裝置進行通訊;
裝置號碼:
主裝置號:major number, 標識裝置類型
次裝置號:minor number, 標識同一類型下的不同裝置
硬碟介面類型:
並行:
IDE:133MB/s
SCSI:640MB/s
串口:
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
rpm: rotations per minute
/dev/DEV_FILE
磁碟裝置的裝置檔案命名:
IDE: /dev/hd
SCSI, SATA, SAS, USB: /dev/sd
不同裝置:a-z
/dev/sda, /dev/sdb, ...
同一裝置上的不同分區:1,2, ...
/dev/sda1, /dev/sda5
機械式硬碟:
track:磁軌
cylinder: 柱面
secotr: 扇區
512bytes
如何分區:
按柱面
0磁軌0扇區:512bytes
MBR: Master Boot Record
446bytes: boot loader
64bytes:分區表
16bytes: 標識一個分區
2bytes: 55AA
4個主要磁碟分割;
3主要磁碟分割+1擴充(N個邏輯分區)
邏輯分區
問題:UEFI, GPT?
分區管理工具:fdisk, parted, sfdisk
fdisk:對於一塊硬碟來講,最多隻能管理15分區;
# fdisk -l [-u] [device...]
# fdisk device
子命令:管理功能
p: print, 顯示已有分區;
n: new, 建立
d: delete, 刪除
w: write, 寫入磁碟並退出
q: quit, 放棄更新並退出
m: 擷取協助
l: 列表所分區id
t: 調整分區id
查看核心是否已經識別新的分區:
# cat /proc/partations
通知核心重新讀取硬碟分區表:
partx -a /dev/DEVICE
-n M:N
kpartx -a /dev/DEVICE
-f: force
CentOS 5: 使用partprobe
partprobe [/dev/DEVICE]
Linux檔案系統管理:
Linux檔案系統: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap
swap: 交換分區
光碟片:iso9660
Windows:fat32, ntfs
Unix: FFS, UFS, JFS2
網路檔案系統:NFS, CIFS
叢集檔案系統:GFS2, OCFS2
Distributed File System:ceph,
moosefs, mogilefs, GlusterFS, Lustre
根據其是否支援"journal"功能:
日誌型檔案系統: ext3, ext4, xfs, ...
非日誌型檔案系統: ext2, vfat
檔案系統的組成部分:
核心中的模組:ext4, xfs, vfat
使用者空間的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat
Linux的虛擬檔案系統:VFS
建立檔案系統:
mkfs命令:
(1) # mkfs.FS_TYPE /dev/DEVICE
ext4
xfs
btrfs
vfat
(2) # mkfs -t FS_TYPE /dev/DEVICE
-L ‘LABEL‘: 設定卷標
mke2fs:ext系列檔案系統專用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L ‘LABEL‘
-j: 相當於 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 為資料空間中每多少個位元組建立一個inode;此大小不應該小於block的大小;
-N #:為資料空間建立個多少個inode;
-m #: 為管理員預留的空間佔據的百分比;
-O FEATURE[,...]:啟用指定特性
-O ^FEATURE:關閉指定特性
mkswap:建立交換分區
mkswap [options] device
-L ‘LABEL‘
前提:調整其分區的ID為82;
其它常用工具:
blkid:塊裝置屬性資訊查看
blkid [OPTION]... [DEVICE]
-U UUID: 根據指定的UUID來尋找對應的裝置
-L LABEL:根據指定的LABEL來尋找對應的裝置
e2label:管理ext系列檔案系統的LABEL
# e2label DEVICE [LABEL]
tune2fs:重新設定ext系列檔案系統可調整參數的值
-l:查看指定檔案系統超級塊資訊;super block
-L ‘LABEL‘:修改卷標
-m #:修預留給管理員的空間百分比
-j: 將ext2升級為ext3
-O: 檔案系統屬性啟用或禁用
-o: 調整檔案系統的預設掛載選項
-U UUID: 修改UUID號;
dumpe2fs:
-h:查看超級塊資訊
檔案系統檢測:
fsck: File System CheCk
fsck.FS_TYPE
fsck -t FS_TYPE
-a: 自動修複錯誤
-r: 互動式修複錯誤
Note: FS_TYPE一定要與分區上已經檔案類型相同;
e2fsck:ext系列檔案專用的檢測修複工具
-y:自動回答為yes;
-f:強制修複;
回顧:
磁碟介面類型、磁碟分割、fdisk、mkfs、mke2fs, tune2fs, blkid, dumpe2fs, e2label
vfs: xfs, ext{2|3|4}, btrfs
檔案系統管理:
將額外檔案系統與根檔案系統某現存的目錄建立起關聯關係,進而使得此目錄做為其它檔案訪問入口的行為稱之為掛載;
解除此關聯關係的過程稱之為卸載;
把裝置關聯掛載點:Mount Point
mount
卸載時:可使用裝置,也可以使用掛載點
umount
注意:掛載點下原有檔案在掛載完成後會被臨時隱藏;
掛載方法:mount DEVICE MOUNT_POINT
mount:通過查看/etc/mtab檔案顯示當前系統已掛載的所有裝置
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要掛載的裝置;
(1) 裝置檔案:例如/dev/sda5
(2) 卷標:-L ‘LABEL‘, 例如 -L ‘MYDATA‘
(3) UUID, -U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
(4) 偽檔案系統名稱:proc, sysfs, devtmpfs, configfs
dir:掛載點
事先存在;建議使用空目錄;
進程正在使用中的裝置無法被卸載;
常用命令選項:
-t vsftype:指定要掛載的裝置上的檔案系統類型;
-r: readonly,唯讀掛載;
-w: read and write, 讀寫掛載;
-n: 不更新/etc/mtab;
-a:自動掛載所有支援自動掛載的裝置;(定義在了/etc/fstab檔案中,且掛載選項中有"自動掛載"功能)
-L ‘LABEL‘: 以卷標指定掛載裝置;
-U ‘UUID‘: 以UUID指定要掛載的裝置;
-B, --bind: 綁定目錄到另一個目錄上;
注意:查看核心追蹤到的已掛載的所有裝置:cat /proc/mounts
-o options:(掛載檔案系統的選項)
async:非同步模式;
sync:同步模式;
atime/noatime:包含目錄和檔案;
diratime/nodiratime:目錄的訪問時間戳記
auto/noauto:是否支援自動掛載
exec/noexec:是否支援將檔案系統上應用程式運行為進程
dev/nodev:是否支援在此檔案系統上使用裝置檔案;
suid/nosuid:
remount:重新掛載
ro:
rw:
user/nouser:是否允許普通使用者掛載此裝置
acl:啟用此檔案系統上的acl功能
注意:上述選項可多個同時使用,彼此使用逗號分隔;
預設掛載選項:defaults
rw, suid, dev, exec, auto, nouser, and async
卸載命令:
# umoun
測試一下純文字