Centos虚拟机根目录磁盘扩容

一、常规操作

1、查看系统版本信息
 [root@server ~]# cat /etc/redhat-release 
 CentOS Linux release 7.9.2009 (Core)
2、查看现有的磁盘空间使用情况,以及需要扩容目录的信息
 [root@server ~]# df -Th
 文件系统                类型      容量  已用  可用 已用% 挂载点
 devtmpfs                devtmpfs  898M     0  898M    0% /dev
 tmpfs                   tmpfs     910M     0  910M    0% /dev/shm
 tmpfs                   tmpfs     910M  9.6M  901M    2% /run
 tmpfs                   tmpfs     910M     0  910M    0% /sys/fs/cgroup
 /dev/mapper/centos-root xfs        17G  3.5G   14G   21% /
 /dev/sda1               xfs      1014M  151M  864M   15% /boot
 tmpfs                   tmpfs     182M     0  182M    0% /run/user/0

3、查看新添加磁盘信息(磁盘分区信息)
 [root@server ~]# 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 
   ├─centos-root 253:0    0   17G  0 lvm  /
   └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
 sdb               8:16   0   10G  0 disk                ## 新磁盘
 sr0              11:0    1  4.4G  0 rom  

从这儿可以看出,sdb是新加的磁盘,没有挂在任何目录

4、查看详细的磁盘分区信息
 fdisk -l

上面就是我们需要扩容的磁盘

5、使用fdisk进行磁盘分区
 [root@server ~]# fdisk /dev/sdb
 欢迎使用 fdisk (util-linux 2.23.2)。
 ​
 更改将停留在内存中,直到您决定将更改写入磁盘。
 使用写入命令前请三思。
 ​
 Device does not contain a recognized partition table
 使用磁盘标识符 0xde489b47 创建新的 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)
 ​
 命令(输入 m 获取帮助):n
 Partition type:
    p   primary (0 primary, 0 extended, 4 free)
    e   extended
 Select (default p): p
 分区号 (1-4,默认 1):1
 起始 扇区 (2048-20971519,默认为 2048):回车默认
 将使用默认值 2048
 Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):回车默认
 将使用默认值 20971519
 分区 1 已设置为 Linux 类型,大小设为 10 GiB
 ​
 命令(输入 m 获取帮助):w             # 保存
 The partition table has been altered!
 ​
 Calling ioctl() to re-read partition table.
 正在同步磁盘。

我们将/dev/sdb这块儿磁盘直接划为了10GB的主分区

6、刷新分区规则,查看现在分区信息
 [root@server ~]# partprobe /dev/sdb
 [root@server ~]# 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 
   ├─centos-root 253:0    0   17G  0 lvm  /
   └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
 sdb               8:16   0   10G  0 disk 
 └─sdb1            8:17   0   10G  0 part 
 sr0              11:0    1  4.4G  0 rom  

可以看到,新的分区已经划好了

 fdisk -l

从这可以看到sdb1的具体信息

7、创建物理卷
 [root@server ~]# pvcreate /dev/sdb1
   Physical volume "/dev/sdb1" successfully created.
 pvs     ## 查看物理卷信息

8、添加到卷组
 [root@server ~]# vgextend centos /dev/sdb1
   Volume group "centos" successfully extended
9、添加到/逻辑卷
 [root@server ~]# lvextend -l+100%FREE /dev/mapper/centos-root 
   Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to 26.99 GiB (6910 extents).
   Logical volume centos/root successfully resized.

10、同步到文件系统
 [root@server ~]# xfs_growfs /dev/mapper/centos-root 
 meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
          =                       sectsz=512   attr=2, projid32bit=1
          =                       crc=1        finobt=0 spinodes=0
 data     =                       bsize=4096   blocks=4455424, imaxpct=25
          =                       sunit=0      swidth=0 blks
 naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
 log      =internal               bsize=4096   blocks=2560, version=2
          =                       sectsz=512   sunit=0 blks, lazy-count=1
 realtime =none                   extsz=4096   blocks=0, rtextents=0
 data blocks changed from 4455424 to 7075840

若文件系统是ext4,则使用resize2fs /dev/mapper/centos-root

11、验证是否成功
 df -Th

发现现在根目录从14G扩容到了24G。

二、非常规操作
假如我们的系统盘符不能扩容,可以换个思路,把他挂载一个别的目录 然后让数据目录软连接过去
1、进行磁盘分区和文件系统格式化
lsblk查看新磁盘是否在系统中
使用fdisk对sdc进行分区,创建一个或多个分区,例如/dev/sdc1
 [root@server /]# fdisk /dev/sdc
 欢迎使用 fdisk (util-linux 2.23.2)。
 ​
 更改将停留在内存中,直到您决定将更改写入磁盘。
 使用写入命令前请三思。
 ​
 Device does not contain a recognized partition table
 使用磁盘标识符 0xcdb04868 创建新的 DOS 磁盘标签。
 ​
 命令(输入 m 获取帮助):n
 Partition type:
    p   primary (0 primary, 0 extended, 4 free)
    e   extended
 Select (default p): p
 分区号 (1-4,默认 1):1
 起始 扇区 (2048-4194303,默认为 2048):
 将使用默认值 2048
 Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):
 将使用默认值 4194303
 分区 1 已设置为 Linux 类型,大小设为 2 GiB
 ​
 命令(输入 m 获取帮助):w
 The partition table has been altered!
 ​
 Calling ioctl() to re-read partition table.
 正在同步磁盘。
 [root@server /]# 
 [root@server /]# pvcreate /dev/sdc1
   Physical volume "/dev/sdc1" successfully created.
 [root@server /]# 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 
   ├─centos-root 253:0    0   27G  0 lvm  /
   └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
 sdb               8:16   0   10G  0 disk 
 └─sdb1            8:17   0   10G  0 part 
   └─centos-root 253:0    0   27G  0 lvm  /
 sdc               8:32   0    2G  0 disk 
 └─sdc1            8:33   0    2G  0 part 
 sr0              11:0    1  4.4G  0 rom  
对新分区创建文件系统(格式化)。我们选择XFS文件系统
 mkfs.xfs -f /dev/sdc1

2、挂载点创建
创建一个目录作为/dev/sdc1的挂载点
 mkdir /mnt/sdc1
将分区/dev/sdc1挂载到目录/mnt/sdc1下
 mount /dev/sdc1 /mnt/sdc1
查看磁盘挂载与磁盘使用空间
 df -Th
3、软连接目录到生产数据的目录下
使用ln -s命令创建软链接,将/data链接到新的挂载点
 ln -s /mnt/sdc1 /data
 **编辑`/etc/fstab`**:为确保每次系统重启后文件系统自动挂载
4、开机自动挂载设置
编辑/etc/fstab:为确保每次系统重启后文件系统自动挂载
 vim /etc/fstab
 mount -a            # 自动挂载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值