磁盘管理操作

虚拟环境centos7.3

fdisk
用法:
 fdisk [选项] <磁盘>    更改分区表
 fdisk [选项] -l <磁盘> 列出分区表
 fdisk -s <分区>        给出分区大小(块数)

选项:
 -b <大小>             扇区大小(512、1024、2048或4096)
 -c[=<模式>]           兼容模式:“dos”或“nondos”(默认)
 -h                    打印此帮助文本
 -u[=<单位>]           显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
 -v                    打印程序版本
 -C <数字>             指定柱面数
 -H <数字>             指定磁头数
 -S <数字>             指定每个磁道的扇区数

一、磁盘分区

  1.在做磁盘分区之前关闭虚拟机添加一块20G的磁盘。

  

  添加之后记得点下面的确定可以应用上。

  2.添加完成之后开始查看硬盘是否应用成功。sda是虚拟机完成安装的时候自己带的硬盘,sdb是刚刚新安装的20G硬盘。

  1. [root@localhost ~]# lsblk
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda           8:0    0   20G  0 disk
    ├─sda1        8:1    0    1G  0 part /boot
    └─sda2        8:2    0   19G  0 part
      ├─cl-root 253:0    0   17G  0 lvm  /
      └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb           8:16   0   20G  0 disk
    sr0          11:0    1  4.1G  0 rom

  3.开始磁盘分区

  1. [root@localhost ~]# fdisk /dev/sdb
  2. 欢迎使用 fdisk (util-linux 2.23.2)。
  3. 更改将停留在内存中,直到您决定将更改写入磁盘。
  4. 使用写入命令前请三思。
  5. Device does not contain a recognized partition table
  6. 使用磁盘标识符 0xccd887dc 创建新的 DOS 磁盘标签。
  7. 命令(输入 m 获取帮助):m

  8. 命令操作
  9. a toggle a bootable flag
  10. b edit bsd disklabel
  11. c toggle the dos compatibility flag
  12. d delete a partition
  13. g create a new empty GPT partition table
  14. G create an IRIX (SGI) partition table
  15. l list known partition types
  16. m print this menu
  17. n add a new partition
  18. o create a new empty DOS partition table
  19. p print the partition table
  20. q quit without saving changes
  21. s create a new empty Sun disklabel
  22. t change a partition\'s system id
  23. u change display/entry units
  24. v verify the partition table
  25. w write table to disk and exit
  26. x extra functionality (experts only)

   磁盘的分区使用到的命令有 n、p、e、l、w等。

  n:添加一个分区

  p:创建新的主分区

  e:创建一个扩展分区

  l:创建逻辑分区

  w:保存磁盘并退出

  4.创建一个1G的主分区

  1. 命令(输入 m 获取帮助):n
  2. Partition type:
  3. p primary (0 primary, 0 extended, 4 free)
  4. e extended
  5. Select (default p): p
  6. 分区号 (1-4,默认 1):1
  7. 起始 扇区 (2048-41943039,默认为 2048):
  8. 将使用默认值 2048
  9. Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
  10. 分区 1 已设置为 Linux 类型,大小设为 1 GiB

   5.继续输入创建一个5G的扩展分区(也可以不设置5G,在+5G的位置输入,默认也可以)

  1. 命令(输入 m 获取帮助):n
  2. Partition type:
  3. p primary (1 primary, 0 extended, 3 free)
  4. e extended
  5. Select (default p): e
  6. 分区号 (2-4,默认 2):2
  7. 起始 扇区 (2099200-41943039,默认为 2099200):
  8. 将使用默认值 2099200
  9. Last 扇区, +扇区 or +size{K,M,G} (2099200-41943039,默认为 41943039):+5G
  10. 分区 2 已设置为 Extended 类型,大小设为 5 GiB

   6.逻辑分区创建在扩展分区空间内才能创建

  1. 命令(输入 m 获取帮助):n
  2. Partition type:
  3. p primary (1 primary, 1 extended, 2 free)
  4. l logical (numbered from 5)
  5. Select (default p): l
  6. 添加逻辑分区 5
  7. 起始 扇区 (2101248-12584959,默认为 2101248):
  8. 将使用默认值 2101248
  9. Last 扇区, +扇区 or +size{K,M,G} (2101248-12584959,默认为 12584959):+4G
  10. 分区 5 已设置为 Linux 类型,大小设为 4 GiB

   7.磁盘分区完成使用w命令保存退出

  1. 命令(输入 m 获取帮助):w
  2. The partition table has been altered!
  3. Calling ioctl() to re-read partition table.
  4. 正在同步磁盘。

  8.让内核识别硬盘分区的变化

  1. [root@localhost ~]# partprobe /dev/sdb

  9.查看分区是否创建成功(查看命令fdisk -l)  

  1. [root@localhost ~]# fdisk -l
  2. ***sda***
  3. 磁盘 /dev/sdb21.5 GB, 21474836480 字节,41943040 个扇区
  4. Units = 扇区 of 1 * 512 = 512 bytes
  5. 扇区大小(逻辑/物理):512 字节 / 512 字节
  6. I/O 大小(最小/最佳):512 字节 / 512 字节
  7. 磁盘标签类型:dos
  8. 磁盘标识符:0xccd887dc
  9. 设备 Boot Start End Blocks Id System
  10. /dev/sdb1 2048 2099199 1048576 83 Linux
  11. /dev/sdb2 2099200 12584959 5242880 5 Extended
  12. /dev/sdb5 2101248 10489855 4194304 83 Linux

     这里的lsblk查看的有 sdb1、sdb2、sdb5创建完成。

    磁盘分区中的前四个分区是留给主分区和扩展分区的,所以逻辑分区是从第五个开始的。

  10.创建文件系统/格式化

    1)将sdb1格式化成ext4格式。

  1. [root@localhost ~]# mkfs -t ext4 /dev/sdb1
  2. mke2fs 1.42.9 (28-Dec-2013)
  3. 文件系统标签=
  4. OS type: Linux
  5. 块大小=4096 (log=2)
  6. 分块大小=4096 (log=2)
  7. Stride=0 blocks, Stripe width=0 blocks
  8. 65536 inodes, 262144 blocks
  9. 13107 blocks (5.00%) reserved for the super user
  10. 第一个数据块=0
  11. Maximum filesystem blocks=268435456
  12. 8 block groups
  13. 32768 blocks per group, 32768 fragments per group
  14. 8192 inodes per group
  15. Superblock backups stored on blocks:
  16. 32768, 98304, 163840, 229376
  17. Allocating group tables: 完成
  18. 正在写入inode表: 完成
  19. Creating journal (8192 blocks): 完成
  20. Writing superblocks and filesystem accounting information: 完成

       2)将sdb5格式化成xfs格式。

  1. [oot@localhost ~]# mkfs.xfs /dev/sdb5
  2. meta-data=/dev/sdb5 isize=512 agcount=4, agsize=262144 blks
  3. = sectsz=512 attr=2, projid32bit=1
  4. = crc=1 finobt=0, sparse=0
  5. data = bsize=4096 blocks=1048576, imaxpct=25
  6. = sunit=0 swidth=0 blks
  7. naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  8. log =internal log bsize=4096 blocks=2560, version=2
  9. = sectsz=512 sunit=0 blks, lazy-count=1
  10. realtime =none extsz=4096 blocks=0, rtextents=0

  11.将sdb1、sdb5分别临时挂载在新建的/data/web和/data/linux中,关机重启之后自动卸载

  1. [root@localhost ~]# mkdir -p data/web/
  2. [root@localhost ~]# mkdir -p data/linux/
  3. [root@localhost data]# ls
  4. linux web
  5. [root@localhost web]# mount /dev/sdb1 /data/web/
  6. mount:/dev/sdb1 已经挂载到 /data/web
    [root@localhost ~]# mount /dev/sdb5 /data/linux
    mount: /dev/sdb5 已经挂载到 /data/linux

  12.执行上面第8的语句,查看sdb1和sdb5挂载情况、分区的大小、还有文件系统

  1. [root@localhost ~]# df -hT |grep sdb
  2. /dev/sdb1 ext4 976M 2.6M 907M 1% /data/web
  3. /dev/sdb5 xfs 4.0G 33M 4.0G 1% /data/linux

  13.卸载挂载

  1. [root@localhost ~]# umount /dev/sdb5

  14.实现开机自动挂载

  1. [root@localhost ~]# tail -2 /etc/fstab
  2. /dev/sdb1 /data/web ext4 defaults 0 0
  3. /dev/sdb5 /data/linux xfs defaults 0 0

  15.挂载/etc/fstab文件上的所有磁盘信息  

  1. [root@localhost ~]# mount -a

  16.永久挂载完成关机之后挂载信息任然在

  1. [root@localhost ~]# df -hT | grep "sdb"
  2. /dev/sdb1 ext4 976M 2.6M 907M 1% /data/web
  3. /dev/sdb5 xfs 4.0G 33M 4.0G 1% /data/linux

二、扩展swap分区

  1.查看swap分区

  1. [root@localhost ~]# free -m
  2. total used free shared buff/cache available
  3. Mem: 1823 144 1213 8 465 1483
  4. Swap: 2047 0 2047

  2.扩展swap分区

  1. 命令(输入 m 获取帮助):n
  2. Partition type:
  3. p primary (1 primary, 1 extended, 2 free)
  4. l logical (numbered from 5)
  5. Select (default p): l
  6. 添加逻辑分区 6
  7. 起始 扇区 (10491904-12584959,默认为 10491904):
  8. 将使用默认值 10491904
  9. Last 扇区, +扇区 or +size{K,M,G} (10491904-12584959,默认为 12584959):+500M
  10. 分区 6 已设置为 Linux 类型,大小设为 500 MiB
  11. 命令(输入 m 获取帮助):t
  12. 分区号 (1,2,5,6,默认 6):6
  13. Hex 代码(输入 L 列出所有代码):82
  14. 已将分区“Linux”的类型更改为“Linux swap / Solaris

  3.扩展swap分区完成

  1. [root@localhost ~]# free -m
  2. total used free shared buff/cache available
  3. Mem: 1823 143 1205 8 474 1484
  4. Swap: 2047 0 2047

   4.挂载swap分区

  1. [root@localhost ~]# cat /etc/fstab

  2. *** ***
    /dev/sdb6    swap    swap        defaults    0 0

  5.挂载/etc/fsta文件中所有的设备

  1. [root@localhost ~]# mount -a

  6.创建swap的文件系统

  1. [root@localhost ~]# mkswap /dev/sdb6
  2. 正在设置交换空间版本 1,大小 = 511996 KiB
  3. 无标签,UUID=eaabc8aa-073c-492f-aa89-1c97d06b8fcd

  7.启动swap分区

  1. [root@localhost ~]# swapon -a

  8.查看swap分区

  1. [root@localhost ~]# free -m
  2. total used free shared buff/cache availa
  3. bleMem: 1823 144 1204 8 474 1
  4. 483Swap: 2547 0 2547

  9.关闭swap分区

  1. [root@localhost ~]# swapoff /dev/sdb6

三、限制磁盘存储数据的因素

  inode 也i就是节点  和文件数量

1.查看inode节点的数量

  1. [root@localhost ~]# df -i /dev/sdb1
  2. 文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
  3. /dev/sdb1 65536 11 65525 1% /data/web

这里的sdb1的inode节点的数量有65525

2.查看inode节点剩余的数量

  1. [root@localhost ~]# stat /etc/fstab
  2. 文件:"/etc/fstab"
  3. 大小:576 块:8 IO 块:4096 普通文件
  4. 设备:fd00h/64768d Inode16799607 硬链接:1
  5. 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
  6. 环境:system_u:object_r:etc_t:s0

3.查看/data/web目录下的文件

  1. [root@localhost ~]# ls /data/web/
    ***略***
    b9999  lost+found

 

版权声明:本文为wang-yongxu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wang-yongxu/p/14186023.html