-
創建設備文件
mknod /app/sda b 8 0 mknod /app/zhongduan1 c 4 1
-
命名規則
-
- centos5及之前
ide /dev/hda
/dev/hdb
...
/dev/hdaa
sata/sas/scsi/usb /dev/sda
/dev/sdb
- centos5及之前
-
-
centos6及之後
sata/sas/scsi/usb/ide /dev/sda
-
-
kvm虛擬機的虛擬硬盤 /dev/vda
xen虛擬機的虛擬硬盤 /dev/xvda
vmware的虛擬硬盤 /dev/sda
-
磁盤的三圍
c:2^10=1024 c:表示柱面 h:2^8=256 h:表示磁頭也是磁道面 s:2^6=64 s:表示扇區
一個扇區大小512byte
256*64*1024*512/1024/1024/1024=8GB
單位大小:K, M, G, T, P, E, Z, Y, B, N, D
1.BIOS basic input/output system 自檢
2.由第一啓動項,引導OS
3.MBR Master boot record 主引導記錄
446 boot loader
lilo linux loader
grub
grub2
16*4=64 分區
55 AA 結束位
16字節 CHS 24bit
分區是否活動 head 扇區6 2+ 8 =10 柱面 分區的類型 head 扇區6 2+ 8 =10 柱面
1 2 3 4 5 6 7 8
9 16 表示擴展分區
-
dd命令
skip=xxx 是在備份時對if後面的部分也就是原文件跳過多少塊 seek=xxx 是在備份時對of後面的部分也就是目標文件跳過多少塊開始寫
實驗一:備份mbr,並破壞,再恢復
1.備份mbr
dd if=/dev/sda of=/app/mbr.img bs=1 count=512
2.將mbr.img 複製到其他主機 sz /app/mbr.img
3.破壞mbr
dd if=/dev/zero of=/dev/sda bs=1 count=512
4.關機
5.在另一個主機上將被破壞的硬盤添加
6.在vmware虛擬機,新加硬盤不用重啓的生效方法
echo '- - -' > /sys/class/scsi_host/host0/scan
7.恢復
dd if=mbr.img of=/dev/sdb
8.poweroff
9.開啓被恢復的主機
10.從恢復機中刪除故障硬盤
實驗二:僅破壞分區表,並恢復.
dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
dd if=/app/mbr.img of=/dev/sda bs=1 count=64 skip=446 seek=446
實驗三:新增硬盤sdb,並使用sda的mbr備份來恢復sdb的分區表
dd if=/app/mbr.img of=/dev/sdb bs=1 count=66 skip=446 seek=446
- lsblk
-
parted
parted 支持msdos和gpt 交互和非交互 parted /dev/sda parted -l 列出所有硬盤的分區信息 parted /dev/sda print 列出指定硬盤的分區 parted /dev/sdb mklabel msdos 設置硬盤的分區類型 或gpt parted /dev/sdb mklabel msdos -s 自動回答yes parted /dev/sdb mkpart primary 1 2G parted /dev/sdb mkpart primary 2G 4G parted /dev/sdb mkpart primary 4G 6.5G parted /dev/sdb mkpart extended 6.5G 21.5G parted /dev/sdb mkpart logical 6.5G 7G fdisk 支持msdos,在centos7中也支持gpt(不建議使用) fdisk -l 查看所有硬盤的分區信息 fdisk -l /dev/sda 查看指定硬盤的分區信息
-
fdisk
fdisk /dev/sdb o 設置msdos分區表 g 設置gpt分區表(不建議使用) m 幫助 n 創建分區 p 主分區 e 擴展分區 (請把所有空間分給擴展) 起始的扇區數 一般直接回車,取可用的最小扇區 結束的扇區數 一般用+XX K/M/G 來指定具體分多少大小的分區 q 退出不保存 w 退出並保存 t 設置分區的類型 L 查看分區的類型所對應的代碼表示方式 d 刪除指定分區 a 設置該分區爲啓動分區,或設置爲非啓動 p 顯示分區表 u 更新顯示分區起止的單位,在扇區和柱面之間切換
非交互方式
echo -e "n\np\n\n\n+1G\nw\n" |fdisk /dev/sdb &> /dev/null -
gpgdisk
gdisk 只能劃分gpt分區 gdisk -l 列出所有硬盤分區表 gdisk -l /dev/sdb 列出指定硬盤的分區表 gdisk /dev/sdb 對分區進行劃分 o 創建gpt分區表 m 幫助 n 創建分區 起始的扇區數 一般直接回車,取可用的最小扇區 結束的扇區數 一般用+XX K/M/G 來指定具體分多少大小的分區 q 退出不保存 w 退出並保存 t 設置分區的類型 L 查看分區的類型所對應的代碼表示方式 d 刪除指定分區 p 顯示分區表 非交互方式 echo -e "n\n\n\n+2G\n\nw\ny\n" |gdisk /dev/sdb cat /proc/partitions 當前內核所加載的分區表
對於非系統所在硬盤,內核自動更新分區表,而對於系統所在硬盤,不能直接列新,要使用以下命令
通知內核讀取分區表
cenots5\centos7: partprobe (centos6不可用)
centos6:partx -a /dev/sda 添加
partx -d --nr /dev/sda7 刪除