博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 磁盘管理
阅读量:7101 次
发布时间:2019-06-28

本文共 2792 字,大约阅读时间需要 9 分钟。

  • 创建设备文件

    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
      • 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:表示扇区

一个扇区大小512byte256*64*1024*512/1024/1024/1024=8GB

单位大小:K, M, G, T, P, E, Z, Y, B, N, D1.BIOS basic input/output system 自检2.由第一启动项,引导OS3.MBR Master boot record 主引导记录446 boot loader        lilo   linux loader        grub            grub216*4=64 分区55 AA  结束位16字节   CHS  24bit分区是否活动   head    扇区6    2+  8 =10 柱面   分区的类型     head    扇区6    2+  8 =10 柱面 1          2              3        4          5               6     7           89     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 删除

转载于:https://blog.51cto.com/11912662/2124997

你可能感兴趣的文章
html图像入门
查看>>
C# Mongo Client 2.4.2创建索引
查看>>
我的第四个网页制作:列表标签
查看>>
【python进阶】详解元类及其应用2
查看>>
简单实用的菜单栏
查看>>
AMap行政区查询服务
查看>>
SpringBoot2.0源码分析(一):SpringBoot简单分析
查看>>
nginx一台服务器布置多个网站
查看>>
自定义String
查看>>
JAVA入门到精通-第25讲-泛型.异常
查看>>
15.回撤操作
查看>>
java 主流框架
查看>>
简单的增删改查
查看>>
iptables详解(8):iptables扩展模块之state扩展
查看>>
解决火狐访问(localhost)本地网站提示输入用户名密码
查看>>
ubuntu14.0.4.3 devstack 安装openstack
查看>>
String隐式共享
查看>>
[转载]Windows Phone
查看>>
pyspark 中启动 jupyter notebook
查看>>
vue2.0入门
查看>>