Linux磁盤管理
硬碟:
機械式硬碟5400,7200,10000轉/分
SSD
機械式:
track磁道
sector: 512bytes
cylinder柱面: 分區的基本機關;
MBR:Master Boot Record,0扇區0磁道
512bytes
446: bootloader引導加載器
64: filesystem allocation table
16位元組: 辨別一個分區(最多4個主分區)
2:55AA
磁盤接口類型:
IDE (ATA):133MB/s,/dev/hd(centos5)
SCSI: 640MB/s
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
識别硬碟裝置:/dev/sd
标記不同的硬碟裝置:/dev/sd[a-z]
标記同一裝置上的不同分區:/dev/sd[a-z][1-]
1-4: 主或擴充分區辨別
5+:邏輯分區辨別
裝置檔案:特殊檔案
裝置号:
major, minor
major: 裝置類型
minor: 同一類型下的不同裝置
“塊”:block,随機裝置
“字元”:character,線性裝置
GPT
分區:分隔存儲空間為多個小的空間,每個空間可獨立使用檔案系統;
分區工具:
fdisk, parted, sfdisk
fdisk工具的使用:

*最多支援在一塊硬碟上的15個分區;
分區管理子指令:
p: 顯示
n: 建立
d: 删除
t: 修改分區ID
l: 列出所有支援ID類型
w: 儲存退出
q: 放棄修改并退出
m: 擷取幫助
建立完成之後,檢視核心是否已經識别新的分區:
# cat /proc/partitions
有三個指令可以讓核心重讀磁盤分區表:
CentOS 5: partprobe [DEVICE]
CentOS 6,7:
partx
kpartx
partx指令:(格式化)
partx DEVICE
partx -a DEVICE
partx -a -n M:N DEVICE
M 精确
M: 從開始
:N 到哪為止
kpartx指令:(格式化)
kpartx -af DEVICE
Linux檔案系統管理
檔案系統:
VFS:Virtual File System,支援多種檔案系統。
Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap
CD光牒:iso9660
Windows: fat32(vfat), ntfs
Unix: ffs, ufs, jfs, jfs2
網絡檔案系統:nfs, cifs
叢集檔案系統:ocfs2, gfs2
分布式檔案系統:ceph,
moosefs, mogilefs, hdfs, gfs, glusterfs
(1) 日志型檔案系統
非日志型檔案系統:ext2
日志型檔案系統:ext3,ext4, reiserfs, xfs, btrfs,
(2) swap:交換分區,換進換出,在磁盤上。
建立檔案系統:
在分區上執行格式化(進階格式化)
要使用某種檔案系統,滿足兩個條件:
核心中:支援此種檔案系統
使用者空間:有檔案系統管理工具
建立工具:mkfs (make filesystem)
mkfs -t type DEVICE
mkfs.type DEVICE
fsck檢視
ext系列檔案系統的專用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096
-L 'LABEL': 設定卷标
blkid指令:
blkid DEVICE,檢視
LABEL, UUID, TYPE
練習:
1、複制/etc/grub.cfg配置檔案至/tmp目錄,用查找替換指令删除……檔案中的行首的空白字元;
2、複制/etc/rc.d/init.d/functions檔案至/tmp目錄,用查找替換指令為/tmp/functions的每行開頭為空白字元的行的行首加一個#; 原有空白字元保留;
3、替換/tmp/functions檔案中的/etc/sysconfig/init為/var/log;
4、删除/tmp/functions檔案中是以#開頭,且#後面至少跟了一個空白字元的行的行首#;
5、查找/var目錄屬主為root,且屬組為mail的所有檔案;
6、查找/usr目錄下不屬于root、bin或hadoop的所有檔案;
7、查找/etc目錄下最近一周内其内容修改過,且屬主不為root或hadoop的所有檔案;
8、查找目前系統上沒有屬主或屬組,且最近一周内曾被通路過的所有檔案;
9、查找/etc目錄下大于20k且類型為普通檔案的所有檔案;
10、查找/etc目錄下所有使用者都沒有寫權限的檔案;
11、查找/etc目錄下至少有一類使用者沒有執行權限的檔案;
12、查找/etc/init.d目錄下,所有使用者都有執行權限,且其它使用者擁有寫權限的檔案;
13、讓普通使用者能使用/tmp/cat去檢視/etc/shadow檔案;
14、建立目錄/test/data,讓某組内普通使用者對其有寫權限,且建立的所有檔案的屬組為目錄所屬的組;此外,每個使用者僅能删除自己的檔案;