创建设备文件
mknod /app/sda b 8 0
mknod /app/zhongduan1 c 4 1
命名规则
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
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 删除
原文地址:http://blog.51cto.com/11912662/2124997