linux磁盘扩容并挂载指定目录下

note: 小编的vmware是16pro, 虚拟机是Centos7;

Linux磁盘扩容分为三个步骤:

1. 虚拟机添加一块物理磁盘

2. 磁盘分区

3. 挂载

一.扩容虚拟机磁盘(虚拟机添加一块物理磁盘)

1.在虚拟机关机状态下,点击虚拟机->设置

2.点击添加

3.下一步

4.选择SCSI

5.选择创建新虚拟磁盘

6.大小选择4G。(大小根据个人喜好选择)

7.给磁盘命名,默认即可

8.点击确定完成 硬盘的添加

二. 磁盘分区

linux磁盘有2种类型,一种是MBR, 这种磁盘最大空间为2T, 用fdisk指令分区。

另外一种是GPT, 这种磁盘可以大于2T,用parted指令分区。

2.1 MBR方式分区

开机之后用指令lsblk,可以看到磁盘sdb就是刚刚添加的磁盘;sda是虚拟机之前安装时候设置的磁盘,有三个分区 sda1, sda2, sda3; 

[shuai@192 ~]$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   10G  0 part /
sdb      8:16   0    4G  0 disk 
sr0     11:0    1  4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

也可以在root用户下,用fdisk -l 查看磁盘信息

[root@192 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c6f11

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris
/dev/sda3         4605952    25577471    10485760   83  Linux

磁盘 /dev/sdb:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

接下来用MBR的方式进行分区,用到指令 fdisk;

要求:给4G的新磁盘分区,要求为P(1G)+P(1G)+L(1G)+L(1G);
即,两个主分区,每个1G,两个逻辑分区,每个1G,之前说过逻辑分区不能单独存在,必须搭载扩展分区,所以实际情况应该是两个主分区,每个1G,一个扩展分区2G,扩展分区里面两个逻辑分区,每个1G;

操作如下:

fdisk /dev/sdb 指令进入分区操作的交互命令行

[root@192 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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

Device does not contain a recognized partition table
使用磁盘标识符 0xe36a8520 创建新的 DOS 磁盘标签。

命令(输入 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
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

#根据提示输入n add a new partition

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
# 这里p是主分区,e为扩展分区,先来个主分区,选择p

Select (default p): p
分区号 (1-4,默认 1):1
# 这里跳转到选择分区号,之前理论讲的MBR只能有4个主或扩展分区(2<=扩展分区+主分区<=4),因为是新的分区,所以这里选择1;

# 选择起始扇区,选择默认即可
起始 扇区 (2048-8388607,默认为 2048):
将使用默认值 2048

# 这里选择结束的扇区,如果你选择默认的,那么就是将整块磁盘给到一个分区,
# 这里磁盘有4G,所以来个1G的,选择+1G,就是给第一个分区1G的空间
Last 扇区, +扇区 or +size{K,M,G} (2048-8388607,默认为 8388607):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

# 还须要写入w,则完成分区1分区;
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

# 完成后会自动退出
[root@192 ~]# 

再次使用lsblk,发现已经多了sdb1

[root@192 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   10G  0 part /
sdb      8:16   0    4G  0 disk 
└─sdb1   8:17   0    1G  0 part 
sr0     11:0    1  4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

接着创建第二个主分区

[root@192 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended

# 选择p表示第二个主分区
Select (default p): p

# 这里自动选择序号2,因为1已经被第一个分区占用
分区号 (2-4,默认 2):2

# 起始位置选择默认即可
起始 扇区 (2099200-8388607,默认为 2099200):
将使用默认值 2099200

# 结束扇区选择1G
Last 扇区, +扇区 or +size{K,M,G} (2099200-8388607,默认为 8388607):+1G
分区 2 已设置为 Linux 类型,大小设为 1 GiB

# w指令保存磁盘修改
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

再次使用lsblk,发现第二块主分区sdb2

[root@192 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   10G  0 part /
sdb      8:16   0    4G  0 disk 
├─sdb1   8:17   0    1G  0 part 
└─sdb2   8:18   0    1G  0 part 
sr0     11:0    1  4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

接下来创建扩展分区和逻辑分区

[root@192 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended

# 选择e表示扩展分区,编号可以选择默认的3
Select (default p): e
分区号 (3,4,默认 3):3

# 起始扇区选择默认的位置
起始 扇区 (4196352-8388607,默认为 4196352):
将使用默认值 4196352

# 剩下的所有磁盘分给这个扩展分区,所以默认回车即可
Last 扇区, +扇区 or +size{K,M,G} (4196352-8388607,默认为 8388607):
将使用默认值 8388607
分区 3 已设置为 Extended 类型,大小设为 2 GiB


# 写入w保存磁盘更改
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

扩展分区是不能单独存在的,必须要有逻辑分区在里面,接下来再来俩次,创建逻辑分区

[root@192 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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


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

# 这里多了个l(logical)的选项,即逻辑分区的意思,这里记得选l
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 5

# 选择默认的起始分区
起始 扇区 (4198400-8388607,默认为 4198400):
将使用默认值 4198400

# 第一个逻辑分区为1G
Last 扇区, +扇区 or +size{K,M,G} (4198400-8388607,默认为 8388607):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

# 保存磁盘更改,写入w
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

再来一次,创建第二块逻辑分区

[root@192 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区 (6297600-8388607,默认为 6297600):
将使用默认值 6297600

# 使用默认的结束扇区,即将剩下的扩展分区的空间全部给到第二个逻辑分区
Last 扇区, +扇区 or +size{K,M,G} (6297600-8388607,默认为 8388607):
将使用默认值 8388607
分区 6 已设置为 Linux 类型,大小设为 1021 MiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

到此,主分区,扩展分区,逻辑分区的分区已经操作完了;分区使用之前还需要进行格式化;

再次lsblk查看MBR分区,符合预期

[root@192 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   10G  0 part /
sdb      8:16   0    4G  0 disk 
├─sdb1   8:17   0    1G  0 part 
├─sdb2   8:18   0    1G  0 part 
├─sdb3   8:19   0    1K  0 part 
├─sdb5   8:21   0    1G  0 part 
└─sdb6   8:22   0 1021M  0 part 
sr0     11:0    1  4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

2.2 GPT分区

要求:给4G的新磁盘分区,要求为P(1G)+P(1G)+L(1G)+L(1G);
即,两个主分区,每个1G,两个逻辑分区,每个1G,之前说过逻辑分区不能单独存在,必须搭载扩展分区,所以实际情况应该是两个主分区,每个1G,一个扩展分区2G,扩展分区里面两个逻辑分区,每个1G;

用 目录一.扩容虚拟机磁盘(虚拟机添加一块物理磁盘)同样的方法扩容虚拟机磁盘,扩容4G;

lsblk查看,多了一块sdc磁盘

[shuai@192 ~]$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   10G  0 part /
sdb      8:16   0    4G  0 disk 
├─sdb1   8:17   0    1G  0 part 
├─sdb2   8:18   0    1G  0 part 
├─sdb3   8:19   0    1K  0 part 
├─sdb5   8:21   0    1G  0 part 
└─sdb6   8:22   0 1021M  0 part 
sdc      8:32   0    4G  0 disk 
sr0     11:0    1  4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

进行parted分区;

使用parted /dev/sdc进入交互的parted命令行;

使用mklabel gpt指令将MBR磁盘转换成GPT磁盘类型;

[root@192 ~]# parted /dev/sdc
GNU Parted 3.1
使用 /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.

# 输入p查看当前分区,发现unrecognised disk label
(parted) p                                                                
错误: /dev/sdc: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)                                    
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

# 将MBR磁盘转换成GPT(此虚拟机默认创建磁盘为MBR类型)
(parted) mklabel gpt 

# 输入p查看当前分区,发现为0个分区                                                     
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  标志

创建第一个主分区

# 创建第一个主分区
(parted) mkpart primary 0 1G                                              
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore  

# 查看当前磁盘分区情况,发现第一个主分区成功                                         
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  1000MB  1000MB               primary

创建第二个主分区

# 创建第二个主分区
(parted) mkpart primary 1G 2G

# 输入p查看第二个主分区
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  1000MB  1000MB               primary
 2      1000MB  2000MB  999MB                primary

创建第一个逻辑分区,GPT分区,逻辑分区不需要以扩展分区为载体,所以这里没有扩展分区

(parted) mkpart logic 2G 3G                                               
(parted) p      

# 输入p查看第一个逻辑分区                                                          
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  1000MB  1000MB               primary
 2      1000MB  2000MB  999MB                primary
 3      2000MB  3000MB  1000MB               logic

创建第二个逻辑分区

(parted) mkpart logic 3G 4G                                              
(parted) p     

# 输入p查看第二个逻辑分区                                                           
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  1000MB  1000MB               primary
 2      1000MB  2000MB  999MB                primary
 3      2000MB  3000MB  1000MB               logic
 4      3000MB  4294MB  1294MB               logic

# 也可以用print查看当前分区
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  1000MB  1000MB               primary
 2      1000MB  2000MB  999MB                primary
 3      2000MB  3000MB  1000MB               logic
 4      3000MB  4294MB  1294MB               logic

退出parted交互命令行 quit

(parted) quit                                                             
信息: You may need to update /etc/fstab.

[root@192 ~]#                    

用lsblk命令查看刚刚的gpt分区

[root@192 ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    20G  0 disk 
├─sda1   8:1    0   200M  0 part /boot
├─sda2   8:2    0     2G  0 part [SWAP]
└─sda3   8:3    0    10G  0 part /
sdb      8:16   0     4G  0 disk 
├─sdb1   8:17   0     1G  0 part 
├─sdb2   8:18   0     1G  0 part 
├─sdb3   8:19   0     1K  0 part 
├─sdb5   8:21   0     1G  0 part 
└─sdb6   8:22   0  1021M  0 part 
sdc      8:32   0     4G  0 disk 
├─sdc1   8:33   0 953.7M  0 part 
├─sdc2   8:34   0   953M  0 part 
├─sdc3   8:35   0   954M  0 part 
└─sdc4   8:36   0   1.2G  0 part 
sr0     11:0    1   4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64
# 下面是parted分区指令的其他命令

# 划分所有空间到一个分区
(parted) mkpart primary 0-1    

# 如果要反过来,将GPT磁盘转化为MBR磁盘
(parted) mklable msdos                                                         

三. 挂载

磁盘挂载之前,要先格式化;

在根目录下新建一个file目录作为挂载的目录;

# 在根目录新建一个file目录作为挂载的目录
[root@192 /]# cd /
[root@192 /]# mkdir file

# 格式化sdc2分区,选用文件系统问目前最优的xfs
# 注意,/dev/sdc2一定要带上2,一定要带上2,一定要带上2 
# 不带上什么意思,就是格式化整个磁盘,结果就是你之前做的sdc的分区全部白费了
[root@192 /]# mkfs.xfs /dev/sdc2
meta-data=/dev/sdc2              isize=512    agcount=4, agsize=60992 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=243968, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

# 手动挂载
[root@192 /]# mount /dev/sdc2 /file

# 查看挂载情况,发现sdc2后面已经挂在了/file
[root@192 /]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    20G  0 disk 
├─sda1   8:1    0   200M  0 part /boot
├─sda2   8:2    0     2G  0 part [SWAP]
└─sda3   8:3    0    10G  0 part /
sdb      8:16   0     4G  0 disk 
├─sdb1   8:17   0     1G  0 part 
├─sdb2   8:18   0     1G  0 part 
├─sdb3   8:19   0     1K  0 part 
├─sdb5   8:21   0     1G  0 part 
└─sdb6   8:22   0  1021M  0 part 
sdc      8:32   0     4G  0 disk 
├─sdc1   8:33   0 953.7M  0 part 
├─sdc2   8:34   0   953M  0 part /file
├─sdc3   8:35   0   954M  0 part 
└─sdc4   8:36   0   1.2G  0 part 
sr0     11:0    1   4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

磁盘卸载(这只是卸载指令,此处不需要操作)

# 磁盘卸载 
# 使用umount卸载分区时,可以指定挂载点,也可以指定挂载的路径 
umount /dev/sdc1 

# 或者等价于 
umount /file 


# 此时关机重启下,再lsblk指令,返现该手动挂载的目录失效了

此时关机重启下,再lsblk指令,发现该手动挂载的目录失效了

[shuai@192 ~]$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    20G  0 disk 
├─sda1   8:1    0   200M  0 part /boot
├─sda2   8:2    0     2G  0 part [SWAP]
└─sda3   8:3    0    10G  0 part /
sdb      8:16   0     4G  0 disk 
├─sdb1   8:17   0     1G  0 part 
├─sdb2   8:18   0     1G  0 part 
├─sdb3   8:19   0     1K  0 part 
├─sdb5   8:21   0     1G  0 part 
└─sdb6   8:22   0  1021M  0 part 
sdc      8:32   0     4G  0 disk 
├─sdc1   8:33   0 953.7M  0 part 
├─sdc2   8:34   0   953M  0 part 
├─sdc3   8:35   0   954M  0 part 
└─sdc4   8:36   0   1.2G  0 part 
sr0     11:0    1   4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

因此要实现自动挂载,需要将磁盘的UUID添加到配置文件/etc/fstab里

[root@192 ~]# blkid /dev/sdc2
/dev/sdc2: UUID="96235e8c-b67b-4341-bc0b-05227e6742f0" TYPE="xfs" PARTLABEL="primary" PARTUUID="f059d92a-4a59-4757-94d4-28c4e2476831" 


# 编辑/etc/tstab文件,加入新的分区挂载

[root@192 ~]# vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat Aug 10 16:37:50 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=054d83d4-4be7-4a4e-8c9c-bc3623607b57 /                       xfs     defaults        0 0
UUID=1d6735cc-c03e-4320-b79b-625fed572702 /boot                   xfs     defaults        0 0
UUID=91bfb5a7-4d6d-465c-b19f-9b827756d1f5 swap                    swap    defaults        0 0
# 上面为系统自带,别理,下面添加这句
UUID="96235e8c-b67b-4341-bc0b-05227e6742f0" /file                 xfs     defaults        0 0

# 注意,如果不用UUID,用磁盘名称也可以,以下信息等价
/dev/sdc1                                /file                    xfs    defailts         0 0 

# 以上完成了磁盘的自动挂载        

四. 将上述创建的2块容量分别是4G的sdb, sdc磁盘空间合二为一,并挂载到同一目录下,实现扩容;

操作/dev/sdb磁盘

# 这里采用GPT的分区方法,使用parted指令

[root@192 ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

# 将磁盘转换成gpt
(parted) mklabel gpt                                                      
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? Yes   

# 这里反正要合并,就设置一个主分区包含整个磁盘                                                      
(parted) mkpart primary 0 100%
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore                                           
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  4295MB  4295MB               primary
(parted) quit                                                             
信息: You may need to update /etc/fstab.

同理 对/dev/sdc磁盘执行相同的操作

[root@192 ~]# parted /dev/sdc
GNU Parted 3.1
使用 /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt                                                      
警告: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? Yes                                                         
(parted) mkpart primary 0 100%
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore                                           
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  4295MB  4295MB               primary
(parted) quit                                                             
信息: You may need to update /etc/fstab.

得到目前的磁盘分布如下

[root@192 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   10G  0 part /
sdb      8:16   0    4G  0 disk 
└─sdb1   8:17   0    4G  0 part 
sdc      8:32   0    4G  0 disk 
└─sdc1   8:33   0    4G  0 part 
sr0     11:0    1  4.4G  0 rom  /run/media/shuai/CentOS 7 x86_64

 创建物理卷,添加卷组,合并磁盘空间

# 创建物理卷的命令为pvcreate;利用该命令将希望添加到卷组的所有分区或磁盘创建为物理卷;
# 将分区/dev/sdb1和/dev/sdc1分区创建为物理卷:
[root@192 ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
  
[root@192 ~]# pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created.


#创建卷组的命令为vgcreate;用此命令将使用pvcreate建立的物理卷创建为一个完整的卷组;
#将物理卷/dev/sdb1创建为一个名为vgmygroup1的卷组:
[root@192 ~]# vgcreate vgmygroup1 /dev/sdb1
  Volume group "vgmygroup1" successfully created

#此步即为将2块磁盘空间合二为一的关键步骤;当系统中新增了磁盘或新建了物理卷,而要将其添加到已有卷组时,就可使用vgextend命令;
# 将物理卷/dev/sdc1添加到vgmygroup1卷组中:
[root@192 ~]# vgextend vgmygroup1 /dev/sdc1
  Volume group "vgmygroup1" successfully extended

# 查看卷组用vgs,从vgs命令的回显结果来看,卷组vgmygroup1成功添加
# 并且其总空间为两块物理磁盘的总大小(因换算单位不同,所以不是精确的4G)。
[root@192 ~]# vgs
  VG         #PV #LV #SN Attr   VSize VFree
  vgmygroup1   2   0   0 wz--n- 7.99g 7.99g

# 创建逻辑卷的命令为lvcreate;用此命令将在使用vgcreate建立的卷组上创建逻辑卷;
# 在卷组vgmygroup1上创建一个名为lvmygroup的逻辑卷,起大小为 7.99G;
# -n:指定逻辑卷名
# -L:指定逻辑卷大小
[root@192 ~]# lvcreate -L 7.99g -n lvmygroup vgmygroup1
  Rounding up size to full physical extent 7.99 GiB
  Logical volume "lvmygroup" created.

# 将创建的lvmygroup逻辑卷格式化为xfs
[root@192 ~]# mkfs -t xfs /dev/vgmygroup1/lvmygroup
meta-data=/dev/vgmygroup1/lvmygroup isize=512    agcount=4, agsize=523776 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2095104, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


# 切换到根目录,在根目录下新建文件夹
[root@192 ~]# cd /
[root@192 /]# mkdir mydata

# 挂载刚刚的逻辑组到新建目录下
[root@192 /]# mount /dev/vgmygroup1/lvmygroup /mydata/

# 查看磁盘大小和挂载磁盘查看,容量为8G
[root@192 /]# df -h
文件系统                          容量  已用  可用 已用% 挂载点
devtmpfs                          975M     0  975M    0% /dev
tmpfs                             991M     0  991M    0% /dev/shm
tmpfs                             991M   11M  980M    2% /run
tmpfs                             991M     0  991M    0% /sys/fs/cgroup
/dev/sda3                          10G  4.3G  5.7G   43% /
/dev/sda1                         197M  147M   50M   75% /boot
tmpfs                             199M   20K  199M    1% /run/user/1000
/dev/sr0                          4.4G  4.4G     0  100% /run/media/shuai/CentOS 7 x86_64
/dev/mapper/vgmygroup1-lvmygroup  8.0G   33M  8.0G    1% /mydata


# 创建开机自动挂载
[root@192 /]# echo /dev/mapper/vgmygroup1-lvmygroup /mydata/ xfs defaults 0 0 >> /etc/fstab

# 重启重新查看挂载的磁盘,确认成功自动开机挂载
[root@192 /]# sync
[root@192 /]# reboot

# 使用df -h指令再次查看,发现完成自动挂载
[shuai@192 ~]$ df -h
文件系统                          容量  已用  可用 已用% 挂载点
devtmpfs                          975M     0  975M    0% /dev
tmpfs                             991M     0  991M    0% /dev/shm
tmpfs                             991M   11M  980M    2% /run
tmpfs                             991M     0  991M    0% /sys/fs/cgroup
/dev/sda3                          10G  4.3G  5.7G   43% /
/dev/sda1                         197M  147M   50M   75% /boot
/dev/mapper/vgmygroup1-lvmygroup  8.0G   33M  8.0G    1% /mydata
tmpfs                             199M  8.0K  199M    1% /run/user/42
tmpfs                             199M   24K  199M    1% /run/user/1000
/dev/sr0                          4.4G  4.4G     0  100% /run/media/shuai/CentOS 7 x86_64

  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值