1、实验环境:

[root@Script-test ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

CentOS 7 磁盘文件 centos7磁盘管理工具_服务器


掌握命令:df、du、fdisk、parted、vgextend

注:df和du的计算方式不一样,du是计算文件内容大小,df计算的空间大小,包括系统产生的垃圾文件、临时文件等。

2、MBR分区

CentOS 7 磁盘文件 centos7磁盘管理工具_VMware_02

创建磁盘分区

创建主分区
[root@Script-test ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):m    #查看帮助命令
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition   #删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition    #添加一个新分区
   o   create a new empty DOS partition table
   p   print the partition table  #打印分区表
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id   #更改分区的系统id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit  #将表写入磁盘并退出
   x   extra functionality (experts only)

命令(输入 m 获取帮助):n  
Partition type:
   p   primary (0 primary, 0 extended, 4 free)      #主分区
   e   extended                                     #扩展分区
Select (default p): p                               #创建主分区
Partition number (1-4, default 1): 1                #选择分区号,范围为1~4(主分区和扩展分区加起来最多只能建立 4 个,而扩展分区最多只能建立 1 个),这里选择1
First sector (2048-2147483647, default 2048): 2048  #分区的起始扇面,默认从2048开始  
Last sector, +sectors or +size{K,M,G} (2048-2147483647, default 2147483647): +1G           #指定该磁盘分区的大小,默认占用整个磁盘;这里用 +size{K,M,G} 命令指定 1G
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): p                           #打印当前磁盘的分区列表

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x9bd3dede

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
创建扩展分区
命令(输入 m 获取帮助):n   
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e                     #创建扩展分区
分区号 (2-4,默认 2):
起始 扇区 (2099200-10485759,默认为 2099200):
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-10485759,默认为 10485759):
将使用默认值 10485759
分区 2 已设置为 Extended 类型,大小设为 4 GiB

命令(输入 m 获取帮助):p        #打印分区表

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x9bd3dede

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200    10485759     4193280    5  Extended
创建逻辑分区
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l              #创建逻辑分区
添加逻辑分区 5
起始 扇区 (2101248-10485759,默认为 2101248):
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-10485759,默认为 10485759):
将使用默认值 10485759
分区 5 已设置为 Linux 类型,大小设为 4 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x9bd3dede

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200    10485759     4193280    5  Extended    #扩展分区
/dev/sdb5         2101248    10485759     4192256   83  Linux       #逻辑分区
将分区信息写入磁盘
命令(输入 m 获取帮助):w          #将分区写入磁盘
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

疑问:为什么要创建扩展分区呢?
答:由于主分区和扩展分区加起来最多只能创建4个。但扩展分区中可以创建更多的逻辑分区,譬如上述/dev/sdb5(逻辑分区)位于/dev/sdb2 (扩展分区)底下,如果删除扩展分区即逻辑分区也会一并删除。

格式化分区

查看磁盘文件类型:blkid /dev/sdb(数字)

[root@Script-test ~]# mkfs -t ext3 /dev/sdb1        #ext3为文件类型,可自定义选择
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

挂载磁盘分区

[root@Script-test mnt]# mkdir test_sdb1     #创建挂载点
[root@Script-test mnt]# ls
test_sdb1
[root@Script-test mnt]# pwd                 #一般情况下将磁盘挂载在/mnt目录下
/mnt

[root@Script-test ~]# mount /dev/sdb1 /mnt/test_sdb1/     #将/dev/sdb1挂载
[root@Script-test ~]# df -T -h |grep /dev/sdb1            #查看挂载情况
/dev/sdb1               ext3      2.0G  3.1M  1.9G    1% /mnt/test_sdb1

 vim /etc/fstab                              #设置开机自动挂载
  2 #
  3 # /etc/fstab
  4 # Created by anaconda on Fri Feb 11 15:11:24 2022
  5 #
  6 # Accessible filesystems, by reference, are maintained under '/dev/disk'
  7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  8 #
  9 /dev/mapper/centos-root /                       xfs     defaults        0 0
 10 UUID=ebbbd049-9931-452a-86d8-c09910705d05 /boot                   xfs     defaults        0 0
 11 /dev/mapper/centos-swap swap                    swap    defaults        0 0
 12 /dev/sdb1 /mnt/test_sdb1 etx3  defaults 1 2       #将分区设为开机自动挂载
 13 #  /dev/sdb1 选择一个分区;xfs 是当前分区的格式; defaults = rw, suid, dev, exec, auto, nouser, and async; 1 需要 dump;0 不需要 dump; 2 开机时检查顺序,非 boot 文    件系统为 1,其它文件系统都为 2

删除磁盘分区

[root@Script-test ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): d                                         # 删除分区
Partition number (1-6, default 6): 6                            #选择待删除的分区号
Partition 6 is deleted

Command (m for help): w                                         #保存设置
The partition table has been altered!

Calling ioctl() to re-read partition table.

参考链接:

3、GPT分区

[root@Script-test ~]# parted
GNU Parted 3.1
使用 /dev/sda                  #默认进去第一块硬盘
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) help
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
切换磁盘
(parted) select /dev/sdb                                                  
使用 /dev/sdb
指定文件格式
mklabel msdos     ##指定mbr格式

mklabel  gpt      ##指定gpt,本次实验使用GPT格式
检查文件格式
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt       #GPT格式
Disk Flags: 

Number  Start  End  Size  File system  Name  标志

parted创建分区有两种方法:1、交互模式(类似fdisk一样)2、命令行模式(一行命令创建完成)

创建分区

交互模式:

(parted) mkpart
分区名称?  []? test                                                      
文件系统类型?  [ext2]? ext3                                              
起始点? 1                  #起始点如果输入0会有警告,说没有对齐。 起始点和结束点默认单位是:MB                                                  
结束点? 3000               #切换单位。unit GB                                              
(parted) print                                                            
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  标志
 1      1049kB  3000MB  2999MB  ext3         test

命令行模式:

(parted) mkpart minglinghang 3000 3500    # 一条命令创建
(parted) print                                                            
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name          标志
 1      1049kB  3000MB  2999MB  ext3         test
 2      3000MB  3500MB  500MB                minglinghang
删除分区
(parted) print 
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name          标志
 1      1049kB  3000MB  2999MB  ext3         test
 2      3000MB  3500MB  500MB                minglinghang

(parted) rm 2                       #rm num  即删除                                        
(parted) print                                                            
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  标志
 1      1049kB  3000MB  2999MB  ext3         test

CentOS 7 磁盘文件 centos7磁盘管理工具_linux_03