当前位置: 首页 > article >正文

Linux系统常见磁盘扩容操作(Common Disk Expansion Operations in Linux Systems)

Linux系统常见磁盘扩容操作

目录说明

一、准备工作:获取目标磁盘信息

(1)确认分区表格式和文件系统

二、扩容已有MBR分区

(1)分区后扩容

    • ext为例

    • xfs为例

三、扩容已有GPT分区

(1)分区后扩容

    • ext为例

    • xfs为例

四、未分区扩容

    • ext为例

    • xfs为例

五、LVM

(1)通过LVM创建逻辑卷

    • ext为例

    • xfs为例

(2)扩容逻辑卷

    方式一:扩容磁盘以扩容逻辑卷容量

      • ext为例

      • xfs为例

    方式二:新增磁盘以扩容逻辑卷容量

      • ext为例

      • xfs为例

一、准备工作:获取目标磁盘信息

(1)确认分区表格式和文件系统

运行以下命令确认数据盘的分区表格式

[root@itgank ~]#fdisk -lu /dev/sdaDisk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x9277b47b Device Boot Start End Blocks Id System/dev/vdb1 2048 41943039 20970496 83 Linux

注意:Disk label type的值为dos则分区是MBR,若该结果的值为gpt则分区是GPT

运行以下命令确认已有分区的文件系统类型

[root@itgank ~]# blkid /dev/vdb1/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"

注意:TYPE的值为ext4则文件系统类型为ext4,若该结果的值为xfs则文件系统类型为xfs

ext*文件系统使用resize2fs命令扩容文件系统 xfs文件系统使用 xfs_growfs命令扩容文件系统

说明

为了防止数据丢失,不建议扩容已挂载的分区和文件系统。请先取消挂载(umount)分区,完成扩容并正常使用后,重新挂载(mount)。针对不同的Linux内核版本,推荐以下操作方式:

  • 实例内核版本小于3.6:先取消挂载该分区,再修改分区表,最后扩容文件系统。

  • 实例内核版本大于等于3.6:先修改对应分区表,再通知内核更新分区表,最后扩容文件系统。

二、扩容已有MBR分区

fdisk命令主要用于 MBR分区表的操作

  • MBR: MBR 分区表支持最多四个主分区,其中一个可以是扩展分区,该扩展分区可以包含多个逻辑分区。由于 MBR 使用32位的扇区偏移值来寻址,因此 MBR 分区表的最大容量为2 TB

(1)分区后扩容

/dev/sdb有10G,只有一个分区/dev/sdb1。将其扩大至20G,将新增的10G划分至已有的/dev/sdb1内

ext为例

[root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb1               ext4      9.8G   37M  9.2G   1% /data

执行以下命令,安装growpart扩容工具

yum install cloud-utils-growpart -y [root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan #如果数据盘扩容后容量大小未变执行此命令让内核扫描并重新识别连接到sdb磁盘的所有磁盘驱动器[root@itgank ~]# growpart /dev/sdb 1CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=41940959 end=41943007[root@itgank ~]# resize2fs /dev/sdb1 resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/sdb1 is mounted on /data; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 3The filesystem on /dev/sdb1 is now 5242619 blocks long. [root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb1               ext4       20G   44M   19G   1% /data

如果不使用growpart命令 手动扩容如下​​​​​​​

[root@itgank ~]# fdisk /dev/sdbWelcome 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): p  #查看分区 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05    Device Boot      Start         End      Blocks   Id  System/dev/sdb1            2048    20971519    10484736   83  Linux Command (m for help): d   #删除当前1分区 切记不要w保存退出 会造成数据丢失Selected partition 1Partition 1 is deleted Command (m for help): n #选择分区类型Partition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): p  #选择主分区Partition number (1-4, default 1):    First sector (2048-41943039, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039Partition 1 of type Linux and of size 20 GiB is set Command (m for help): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05    Device Boot      Start         End      Blocks   Id  System/dev/sdb1            2048    41943039    20970496   83  Linux Command (m for help): w  #以上操作保存退出 如果中途命令输入错误 ctrl+c回退所有命令  重头再开始The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@itgank ~]# partprobe[root@itgank ~]# resize2fs /dev/sdb1resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/sdb1 is mounted on /data; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 3The filesystem on /dev/sdb1 is now 5242624 blocks long. [root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb1               ext4       20G   44M   19G   1% /data

xfs为例​​​​​​

[root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb1               xfs       9.8G   37M  9.2G   1% /data

执行以下命令,安装growpart扩容工具​​​​​​​

yum install cloud-utils-growpart -y[root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan #如果数据盘扩容后容量大小未变执行此命令让内核扫描并重新识别连接到sdb磁盘的所有磁盘驱动器[root@itgank ~]# growpart /dev/sdb 1CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=41940959 end=41943007[root@itgank ~]# xfs_growfs /dev/sdb1 [root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb1               xfs        20G   44M   19G   1% /data 

如果不使用growpart命令 手动扩容如下​​​​​​​

[root@itgank ~]# fdisk /dev/sdbWelcome 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): p #打印分区表 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05    Device Boot      Start         End      Blocks   Id  System/dev/sdb1            2048    20971519    10484736   83  Linux Command (m for help): d  #删除分区   Selected partition 1Partition 1 is deleted Command (m for help): n #选择主分区Partition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): p  #默认选择primaryPartition number (1-4, default 1):    #默认选择1First sector (2048-41943039, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039Partition 1 of type Linux and of size 20 GiB is set Command (m for help): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05    Device Boot      Start         End      Blocks   Id  System/dev/sdb1            2048    41943039    20970496   83  Linux Command (m for help): w  #保存修改并退出The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@itgank ~]# partprobe[root@itgank ~]# xfs_growfs /dev/sdb1meta-data=/dev/sdf               isize=512    agcount=4, agsize=655360 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=1        finobt=0 spinodes=0data     =                       bsize=4096   blocks=2621440, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal               bsize=4096   blocks=2560, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0[root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb1               xfs       20G   44M   19G   1% /data

三、扩容已有GPT分区

parted命令主要用于 GPT分区表的操作

  • GPT: GPT 分区表支持更大的硬盘容量。它使用64位的逻辑块地址,因此可以支持超过2 TB的硬盘容量

(1)分区后扩容

ext为例

/dev/sdf1有10G。将数据盘容量扩大至20G,将新增的10G划分至已有的/dev/sdf1内​​​​​​​

[root@itgank ~]# df -ThFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  1.9G     0  1.9G   0% /devtmpfs                     tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                     tmpfs     1.9G   20M  1.9G   2% /runtmpfs                     tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        53G  3.2G   50G   6% //dev/sda1                 xfs       797M  151M  647M  19% /boottmpfs                     tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata ext4      689G   69M  658G   1% /data/dev/sdf1                 ext4      9.8G   37M  9.2G   1% /aaa[root@itgank ~]# parted /dev/sdfGNU Parted 3.1Using /dev/sdfWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) printError: The backup GPT table is not at the end of the disk, as it should be.  This might mean that another operating system believes thedisk is smaller.  Fix, by moving the backup to the end (and removing the old backup)?Fix/Ignore/Cancel? Fix   #若界面提示Fix/Ignore/Cancel?和Fix/Ignore?,均输入Fix即可Warning: Not all of the space available to /dev/sdf appears to be used, you can fix the GPT to use all of the space (an extra 20971520blocks) or continue with the current setting?Fix/Ignore? FixModel: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number  Start   End     Size    File system  Name     Flags 1      1049kB  10.7GB  10.7GB  ext4         primary (parted) rm 1  #删除1分区(parted) mkpart primary 1049kB 100%   #原分区的起始扇区为1049kB,且要将扩容后的总容量全部分配给该分区(parted) print Model: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number  Start   End     Size    File system  Name     Flags 1      1049kB  21.5GB  21.5GB  ext4         primary(parted) quit #退出Information: You may need to update /etc/fstab. [root@itgank ~]# resize2fs /dev/sdf1resize2fs 1.42.9 (28-Dec-2013)Please run 'e2fsck -f /dev/sdf1' first. [root@itgank ~]# e2fsck -f /dev/sdf1  #检测磁盘e2fsck 1.42.9 (28-Dec-2013)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/sdf1: 11/655360 files (0.0% non-contiguous), 83137/2620928 blocks[root@itgank ~]# resize2fs /dev/sdf1resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/sdf1 to 5242368 (4k) blocks.The filesystem on /dev/sdf1 is now 5242368 blocks long. [root@itgank ~]# mount /dev/sdf1  /aaa[root@itgank ~]# df -ThFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  1.9G     0  1.9G   0% /devtmpfs                     tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                     tmpfs     1.9G   20M  1.9G   2% /runtmpfs                     tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        53G  3.2G   50G   6% //dev/sda1                 xfs       797M  151M  647M  19% /boottmpfs                     tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata ext4      689G   69M  658G   1% /data/dev/sdf1                 ext4       20G   44M   19G   1% /aaa

xfs为例​​​​​​​

[root@itgank ~]# df -ThFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  1.9G     0  1.9G   0% /devtmpfs                     tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                     tmpfs     1.9G   20M  1.9G   2% /runtmpfs                     tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        53G  3.2G   50G   6% //dev/sda1                 xfs       797M  151M  647M  19% /boottmpfs                     tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata ext4      689G   69M  658G   1% /data/dev/sdf1                 xfs        10G   33M   10G   1% /aaa[root@itgank ~]# parted /dev/sdfGNU Parted 3.1Using /dev/sdfWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) printError: The backup GPT table is not at the end of the disk, as it should be.  This might mean that another operating system believes thedisk is smaller.  Fix, by moving the backup to the end (and removing the old backup)?Fix/Ignore/Cancel? fixWarning: Not all of the space available to /dev/sdf appears to be used, you can fix the GPT to use all of the space (an extra 20971520blocks) or continue with the current setting?Fix/Ignore? fixModel: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number  Start   End     Size    File system  Name     Flags 1      1049kB  10.7GB  10.7GB  xfs          primary (parted) rm 1(parted) mkpart primary 1049kB 100%(parted) printModel: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number  Start   End     Size    File system  Name     Flags 1      1049kB  21.5GB  21.5GB  xfs          primary (parted) quitInformation: You may need to update /etc/fstab.[root@itgank ~]# mount /dev/sdf1 /aaa[root@itgank ~]# xfs_growfs /aaameta-data=/dev/sdf1              isize=512    agcount=4, agsize=655232 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=1        finobt=0 spinodes=0data     =                       bsize=4096   blocks=2620928, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal               bsize=4096   blocks=2560, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0data blocks changed from 2620928 to 5242368[root@itgank ~]# df -ThFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  1.9G     0  1.9G   0% /devtmpfs                     tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                     tmpfs     1.9G   20M  1.9G   2% /runtmpfs                     tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        53G  3.2G   50G   6% //dev/sda1                 xfs       797M  151M  647M  19% /boottmpfs                     tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata ext4      689G   69M  658G   1% /data/dev/sdf1                 xfs        20G   33M   20G   1% /aaa[root@itgank ~]#
四、未分区扩容

/dev/sdb有10G,未分区直接挂载。将数据盘容量扩大至20G,将新增的10G划分至已有的/dev/sdb内

ext为例​​​​​​​

[root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb                ext4      9.8G   37M  9.2G   1% /data[root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan[root@itgank ~]# resize2fs /dev/sdbresize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/sdb is mounted on /data; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 3The filesystem on /dev/sdb is now 5242880 blocks long.[root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb                ext4       20G   44M   19G   1% /data

xfs为例

[root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb                xfs      9.8G   37M  9.2G   1% /data[root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan[root@itgank ~]# xfs_growfs /dev/sdb[root@itgank ~]# df -ThFilesystem              Type      Size  Used Avail Use% Mounted ondevtmpfs                devtmpfs  1.9G     0  1.9G   0% /devtmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                   tmpfs     1.9G   12M  1.9G   1% /runtmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root xfs        53G  3.2G   50G   6% //dev/sda1               xfs       797M  151M  647M  19% /boottmpfs                   tmpfs     378M     0  378M   0% /run/user/0/dev/sdb                xfs        20G   44M   19G   1% /data
五、LVM

(1)通过LVM创建逻辑卷

三块大小为100G的磁盘,通过LVM创建逻辑卷并挂载目录

ext为例​​​​​​​

[root@itgank ~]# lsblkNAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsda               8:0    0   55G  0 disk├─sda1            8:1    0  800M  0 part /boot├─sda2            8:2    0 39.2G  0 part│ ├─centos-root 253:0    0 52.2G  0 lvm  /│ └─centos-swap 253:1    0    2G  0 lvm  [SWAP]├─sda3            8:3    0    5G  0 part│ └─centos-root 253:0    0 52.2G  0 lvm  /└─sda4            8:4    0   10G  0 part  └─centos-root 253:0    0 52.2G  0 lvm  /sdb               8:16   0  100G  0 disksdc               8:32   0  100G  0 disksdd               8:48   0  100G  0 disksr0              11:0    1 1024M  0 rom[root@itgank ~]# pvcreate /dev/sdb  Physical volume "/dev/sdb" successfully created.[root@itgank ~]# pvcreate /dev/sdc  Physical volume "/dev/sdc" successfully created.[root@itgank ~]# pvcreate /dev/sdd  Physical volume "/dev/sdd" successfully created.[root@itgank ~]# vgcreate vgdata /dev/sdb  Volume group "vgdata" successfully created[root@itgank ~]# vgs  VG      #PV #LV #SN Attr   VSize    VFree  centos    3   2   0 wz--n-  <54.21g       0  vgdata   1   0   0 wz--n- <100.00g <100.00g[root@itgank ~]# vgextend vgdata /dev/sdc  Volume group "vgdata" successfully extended[root@itgank ~]# vgextend vgdata /dev/sdd  Volume group "vgdata" successfully extended[root@itgank ~]# vgs  VG      #PV #LV #SN Attr   VSize    VFree  centos    3   2   0 wz--n-  <54.21g       0  vgdata    3   0   0 wz--n-  <299.99g <299.99g[root@itgank ~]# lvcreate -l 100%FREE -n lvdata vgdata  Logical volume "lvdata" created.[root@itgank ~]# lvs  LV      VG      Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  root    centos  -wi-ao----  <52.21g  swap    centos  -wi-ao----    2.00g  lvdata vgdata   -wi-a----- <299.99g[root@itgank ~]# mkfs -t ext4 /dev/vgdata/lvdatamke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks19660800 inodes, 78640128 blocks3932006 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=22271754242400 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,        4096000, 7962624, 11239424, 20480000, 23887872, 71663616 Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done [root@itgank ~]# mount /dev/vgdata/lvdata /data[root@itgank ~]# df -ThFilesystem                    Type      Size  Used Avail Use% Mounted ondevtmpfs                      devtmpfs  1.9G     0  1.9G   0% /devtmpfs                         tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                         tmpfs     1.9G   12M  1.9G   1% /runtmpfs                         tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root       xfs        53G  3.2G   50G   6% //dev/sda1                     xfs       797M  151M  647M  19% /boottmpfs                         tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata     ext4      296G   65M  281G   1% /data[root@itgank ~]# vim /etc/fstab  #末尾添加/dev/mapper/vgdata-lvdata  /data  ext4  defaults        0  0

xfs为例​​​​​​​

[root@itgank ~]# lsblkNAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsda               8:0    0   55G  0 disk├─sda1            8:1    0  800M  0 part /boot├─sda2            8:2    0 39.2G  0 part│ ├─centos-root 253:0    0 52.2G  0 lvm  /│ └─centos-swap 253:1    0    2G  0 lvm  [SWAP]├─sda3            8:3    0    5G  0 part│ └─centos-root 253:0    0 52.2G  0 lvm  /└─sda4            8:4    0   10G  0 part  └─centos-root 253:0    0 52.2G  0 lvm  /sdb               8:16   0  100G  0 disksdc               8:32   0  100G  0 disksdd               8:48   0  100G  0 disksr0              11:0    1 1024M  0 rom[root@itgank ~]# pvcreate /dev/sdb  Physical volume "/dev/sdb" successfully created.[root@itgank ~]# pvcreate /dev/sdc  Physical volume "/dev/sdc" successfully created.[root@itgank ~]# pvcreate /dev/sdd  Physical volume "/dev/sdd" successfully created.[root@itgank ~]# vgcreate vgdata /dev/sdb  Volume group "vgdata" successfully created[root@itgank ~]# vgs  VG      #PV #LV #SN Attr   VSize    VFree  centos    3   2   0 wz--n-  <54.21g       0  vgdata   1   0   0 wz--n- <100.00g <100.00g[root@itgank ~]# vgextend vgdata /dev/sdc  Volume group "vgdata" successfully extended[root@itgank ~]# vgextend vgdata /dev/sdd  Volume group "vgdata" successfully extended[root@itgank ~]# vgs  VG      #PV #LV #SN Attr   VSize    VFree  centos    3   2   0 wz--n-  <54.21g       0  vgdata    3   0   0 wz--n-  <299.99g <299.99g[root@itgank ~]# lvcreate -l 100%FREE -n lvdata vgdata  Logical volume "lvdata" created.[root@itgank ~]# lvs  LV      VG      Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  root    centos  -wi-ao----  <52.21g  swap    centos  -wi-ao----    2.00g  lvdata vgdata   -wi-a----- <299.99g[root@itgank ~]# mkfs -t xfs /dev/vgdata/lvdata[root@itgank ~]# mount /dev/vgdata/lvdata /data[root@itgank ~]# df -ThFilesystem                    Type      Size  Used Avail Use% Mounted ondevtmpfs                      devtmpfs  1.9G     0  1.9G   0% /devtmpfs                         tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                         tmpfs     1.9G   12M  1.9G   1% /runtmpfs                         tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root       xfs        53G  3.2G   50G   6% //dev/sda1                     xfs       797M  151M  647M  19% /boottmpfs                         tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata     xfs       296G   65M  281G   1% /data[root@itgank ~]# vim /etc/fstab  #末尾添加/dev/mapper/vgdata-lvdata  /data  xfs  defaults        0  0

(2)扩容逻辑卷

方式一:扩容磁盘以扩容逻辑卷容量

其中一块磁盘扩容到200G 如何扩容逻辑卷

ext为例​​​​​​​

[root@itgank ~]# pvresize /dev/sdb  Physical volume "/dev/sdb" changed  1 physical volume(s) resized or updated / 0 physical volume(s) not resized[root@itgank ~]# lvextend -l +100%FREE /dev/vgdata/lvdata  Size of logical volume vgdata/lvdata changed from <299.99 GiB (76797 extents) to <399.99 GiB (102397 extents).  Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# resize2fs /dev/vgdata/lvdataresize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/vgdata/lvdata is mounted on /data; on-line resizing requiredold_desc_blocks = 38, new_desc_blocks = 50The filesystem on /dev/vgdata/lvdata is now 104854528 blocks long.[root@itgank ~]# df -ThFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  1.9G     0  1.9G   0% /devtmpfs                     tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                     tmpfs     1.9G   12M  1.9G   1% /runtmpfs                     tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        53G  3.2G   50G   6% //dev/sda1                 xfs       797M  151M  647M  19% /boottmpfs                     tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata ext4      394G   72M  375G   1% /data=

xfs为例​​​​​​​

[root@itgank ~]# pvresize /dev/sdb  Physical volume "/dev/sdb" changed  1 physical volume(s) resized or updated / 0 physical volume(s) not resized[root@itgank ~]# lvextend -l +100%FREE /dev/vgdata/lvdata  Size of logical volume vgdata/lvdata changed from <299.99 GiB (76797 extents) to <399.99 GiB (102397 extents).  Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# xfs_growfs /dev/vgdata/lvdata[root@itgank ~]# df -ThFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  1.9G     0  1.9G   0% /devtmpfs                     tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                     tmpfs     1.9G   12M  1.9G   1% /runtmpfs                     tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        53G  3.2G   50G   6% //dev/sda1                 xfs       797M  151M  647M  19% /boottmpfs                     tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata xfs       394G   72M  375G   1% /data

方式二:新增磁盘以扩容逻辑卷容量

新增一块200G磁盘sde 如何增加到逻辑卷

ext为例

t@itgank ~]# pvcreate /dev/sde Physical volume "/dev/sde" successfully created.[root@itgank ~]# vgextend vgdata /dev/sde Volume group "vgdata" successfully extended[root@itgank ~]# lvextend -l +100%FREE /dev/mapper/vgdata-lvdata Size of logical volume vgdata/lvdata changed from <499.99 GiB (127997 extents) to 699.98 GiB (179196 extents). Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# resize2fs /dev/mapper/vgdata-lvdataresize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/mapper/vgdata-lvdata is mounted on /data; on-line resizing requiredold_desc_blocks = 63, new_desc_blocks = 88The filesystem on /dev/mapper/vgdata-lvdata is now 183496704 blocks long.[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 20M 1.9G 2% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 689G 69M 658G 1% /data

xfs为例

[root@itgank ~]# pvcreate /dev/sde

  Physical volume "/dev/sde" successfully created.[root@itgank ~]# vgextend vgdata /dev/sde  Volume group "vgdata" successfully extended[root@itgank ~]# lvextend -l +100%FREE /dev/mapper/vgdata-lvdata  Size of logical volume vgdata/lvdata changed from <499.99 GiB (127997 extents) to 699.98 GiB (179196 extents).  Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# xfs_growfs /dev/mapper/vgdata-lvdata[root@itgank ~]# df -ThFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  1.9G     0  1.9G   0% /devtmpfs                     tmpfs     1.9G     0  1.9G   0% /dev/shmtmpfs                     tmpfs     1.9G   20M  1.9G   2% /runtmpfs                     tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        53G  3.2G   50G   6% //dev/sda1                 xfs       797M  151M  647M  19% /boottmpfs                     tmpfs     378M     0  378M   0% /run/user/0/dev/mapper/vgdata-lvdata xfs       689G   69M  658G   1% /data

相关文章:

Linux系统常见磁盘扩容操作(Common Disk Expansion Operations in Linux Systems)

Linux系统常见磁盘扩容操作 目录说明 一、准备工作&#xff1a;获取目标磁盘信息 &#xff08;1&#xff09;确认分区表格式和文件系统 二、扩容已有MBR分区 &#xff08;1&#xff09;分区后扩容 ext为例 xfs为例 三、扩容已有GPT分区 &#xff08;1&#xff09;分区…...

数据结构——哈希详解

数据结构——哈希详解 目录 一、哈希的定义 二、六种哈希函数的构造方法 2.1 除留取余法 2.2 平方取中法 2.3 随机数法 2.4 折叠法 2.5 数字分析法 2.6 直接定值法 三、四种解决哈希冲突的方法 3.1 开放地址法 3.1.1 线性探测法 3.1.2 二次探测法 3.2 链地址法 3…...

Spark-SQL核心编程

简介 Hadoop与Spark-SQL的对比 Hadoop在处理结构化数据方面存在局限性&#xff0c;无法有效处理某些类型的数据。 Spark应运而生&#xff0c;特别设计了处理结构化数据的模块&#xff0c;称为Spark SQL&#xff08;原称Shark&#xff09;。 SparkSQL的发展历程&#xff1a; Sp…...

pywebview 常用问题分享

文章目录 前言问题描述与方案(待补充)1、动态设置本地调试目录和打包目录2、构建后运行程序白屏 前言 最近做一个pywebview项目&#xff0c;遇到了一些问题&#xff0c;记录一下&#xff0c;分享给大家&#xff0c;希望能帮助有遇到相似问题的人事。 问题描述与方案(待补充) …...

系统设计模块之安全架构设计(身份认证与授权(OAuth2.0、JWT、RBAC/ABAC))

一、OAuth 2.0&#xff1a;开放授权框架 OAuth 2.0 是一种标准化的授权协议&#xff0c;允许第三方应用在用户授权下访问其资源&#xff0c;而无需直接暴露用户密码。其核心目标是 分离身份验证与授权&#xff0c;提升安全性与灵活性。 1. 核心概念与流程 角色划分&#xff…...

Docker 与 Podman常用知识汇总

一、常用命令的对比汇总 1、基础说明 Docker&#xff1a;传统的容器引擎&#xff0c;使用 dockerd 守护进程。 Podman&#xff1a;无守护进程、无root容器引擎&#xff0c;兼容 Docker CLI。 Podman 命令几乎完全兼容 Docker 命令&#xff0c;只需将 docker 替换为 podman。…...

如何通过自动化解决方案提升企业运营效率?

引言 在现代企业中&#xff0c;运营效率直接影响着企业的成本、速度与竞争力。尤其是随着科技的不断发展&#xff0c;传统手工操作和低效的流程逐渐无法满足企业的需求。自动化解决方案正成为企业提升运营效率、降低成本和提高生产力的关键。无论是大型跨国公司&#xff0c;还…...

unity100天学习计划

以下是一个为期100天的Unity学习大纲,涵盖从零基础到独立开发完整游戏的全流程,结合理论、实践和项目实战,每天学习2-3小时: 第一阶段:基础奠基(Day 1-20) 目标:掌握Unity引擎基础与C#编程 Day 1-5:引擎入门 安装Unity Hub和Unity Editor(LTS版本)熟悉Unity界面:S…...

多坐标系变换全解析:从相机到WGS-84的空间坐标系详解

多坐标系变换全解析:从相机到WGS-84的空间坐标系详解 一、常见坐标系简介二、各坐标系的功能和使用场景1. WGS-84 大地坐标系(经纬高)2. 地心直角坐标系(ECEF)3. 本地 ENU / NED 坐标系4. 平台坐标系(Body)5. 相机坐标系三、坐标变换流程图四、如何选用合适的坐标系?五…...

SpringCloud Alibaba 之分布式全局事务 Seata 原理分析

1. 什么是 Seata&#xff1f;为什么需要它&#xff1f; 想象一下&#xff0c;你去银行转账&#xff1a; 操作1&#xff1a;从你的账户扣款 1000 元操作2&#xff1a;向对方账户增加 1000 元 如果 操作1 成功&#xff0c;但 操作2 失败了&#xff0c;你的钱就凭空消失了&…...

作业帮前端面试题及参考答案 (100道面试题-上)

HTML5 的优势是什么? HTML5 作为 HTML 语言的新一代标准,具有众多显著优势,为现代网页开发带来了诸多便利与革新。 在语义化方面,HTML5 引入了大量具有明确语义的标签,如<header>、<nav>、<article>、<section>、<aside>、<footer>等…...

Large Language Model(LLM)的训练和微调

之前一个偏工程向的论文中了&#xff0c;但是当时对工程理论其实不算很了解&#xff0c;就来了解一下 工程流程 横轴叫智能追寻 竖轴上下文优化 Prompt不行的情况下加shot(提示)&#xff0c;如果每次都要加提示&#xff0c;就可以试试知识库增强检索来给提示。 如果希望增强…...

统计销量前十的订单

传入参数&#xff1a; 传入begin和end两个时间 返回参数 返回nameList和numberList两个String类型的列表 controller层 GetMapping("/top10")public Result<SalesTop10ReportVO> top10(DateTimeFormat(pattern "yyyy-MM-dd") LocalDate begin,Dat…...

AI大模型原理可视化工具:深入浅出理解大语言模型的工作原理

AI大模型原理可视化工具&#xff1a;深入浅出理解大语言模型的工作原理 在人工智能快速发展的今天&#xff0c;大语言模型&#xff08;如GPT、BERT等&#xff09;已经成为改变世界的重要技术。但对于很多人来说&#xff0c;理解这些模型的工作原理仍然是一个挑战。为了帮助更多…...

MCP 认证考试常见技术难题实战分析与解决方案

MCP(Microsoft Certified Professional)认证考试在全球范围内被广泛认可,是衡量个人在微软技术领域专业能力的重要标准。然而,在备考和参加 MCP 认证考试过程中,考生常常会遇到各种技术难题。以下将对一些常见技术难题进行实战分析,并提供相应的解决方案。​ 一、网络配…...

qt designer 创建窗体选择哪种屏幕大小

1. 新建窗体时选择QVGA还是VGA 下面这个图展示了区别 这里我还是选择默认&#xff0c;因为没有特殊需求&#xff0c;只是在PC端使用...

Spark-SQL核心编程(一)

一、Spark-SQL 基础概念 1.定义与起源&#xff1a;Spark SQL 是 Spark 用于结构化数据处理的模块&#xff0c;前身是 Shark。Shark 基于 Hive 开发&#xff0c;提升了 SQL-on-Hadoop 的性能&#xff0c;但因对 Hive 依赖过多限制了 Spark 发展&#xff0c;后被 SparkSQL 取代&…...

Android WiFi获取动态IP地址

Android开发中获取WiFi动态IP地址可通过以下方法实现&#xff0c;需结合网络状态管理和API调用&#xff1a; 一、权限配置 在AndroidManifest.xml中添加必要权限&#xff1a; <uses-permission android:name"android.permission.ACCESS_WIFI_STATE" /> <…...

正则表达式使用知识(日常翻阅)

正则表达式使用 一、字符匹配 1. 普通字符 描述&#xff1a;直接匹配字符本身。示例&#xff1a; abc 匹配字符串中的 “abc”。Hello 匹配字符串中的 “Hello”。 2. 特殊字符 .&#xff08;点号&#xff09;&#xff1a; 描述&#xff1a;匹配任意单个字符&#xff08;…...

AI与无人驾驶汽车:如何通过机器学习提升自动驾驶系统的安全性?

引言 想象一下&#xff0c;在高速公路上&#xff0c;一辆无人驾驶汽车正平稳行驶。突然&#xff0c;前方的车辆紧急刹车&#xff0c;而旁边车道有一辆摩托车正快速接近。在这千钧一发的瞬间&#xff0c;自动驾驶系统迅速分析路况&#xff0c;判断最安全的避险方案&#xff0c;精…...

第5篇:Linux程序访问控制FPGA端LEDR<三>

Q&#xff1a;如何具体设计.c程序代码访问控制FPGA端外设&#xff1f; A&#xff1a;以控制DE1-SoC开发板的LEDR为例的Linux .C程序代码。头文件fcntl.h和sys/mman.h用于使用/dev/mem文件&#xff0c;以及mmap和munmap内核函数&#xff1b;address_map_arm.h指定了DE1-SoC_Com…...

城市应急安防系统EasyCVR视频融合平台:如何实现多源视频资源高效汇聚与应急指挥协同

一、方案背景 1&#xff09;项目背景 在当今数字化时代&#xff0c;随着信息技术的飞速发展&#xff0c;视频监控和应急指挥系统在公共安全、城市应急等领域的重要性日益凸显。尤其是在关键场所&#xff0c;高效的视频资源整合与传输能力对于应对突发公共事件、实现快速精准的…...

主流程序员接单平台的分类整理与分析

一、主流推荐平台 1.程序员客栈 特点&#xff1a;国内知名度高&#xff0c;需求池模式自动匹配项目&#xff0c;项目经理介入协调争议&#xff0c;流程规范。 优势&#xff1a;适合新手到资深开发者&#xff0c;资金托管安全性高&#xff0c;交易纠纷处理专业。 不足&…...

【笔记ing】AI大模型-03深度学习基础理论

神经网络&#xff1a;A neural network is a network or circuit of neurons,or in a modern sense,an artificial neural network,composed of artificial neurons or nodes.神经网络是神经元的网络或回路&#xff0c;或者在现在意义上来说&#xff0c;是一个由人工神经元或节…...

Hutool工具包中`copyProperties`和`toBean`的区别

前言 在Java开发中&#xff0c;对象转换是一项常见且重要的操作。Hutool作为一个功能强大的Java工具包&#xff0c;提供了copyProperties和toBean这两个实用的方法来帮助我们进行对象转换。然而&#xff0c;很多开发者对这两个方法的区别和使用场景并不十分清楚。 一、Hutool…...

高德地图 JS-SDK 实现教程

高德地图 JS-SDK 实现教程&#xff1a;定位、地图选点、地址解析等 适用地点选择、地址显示、表单填写等场景&#xff0c;全面支持移动端、手机浏览器和 PC端环境 一、创建应用&Key 前端&#xff08;JS-SDK、地图组件&#xff09; 登陆 高德开放平台创建应用&#xff0c;…...

07软件测试需求分析案例-修改用户信息

修改用户信息是后台管理菜单的一个功能模块&#xff0c;只有admin才有修改权限。包括查询用户名进行显示用户相关信息&#xff0c;并且修改用户相关信息的功能。 1.1 通读文档 通读需求规格说明书是提取信息&#xff0c;提出问题&#xff0c;输出具有逻辑、规则、流程的业务…...

分层对象模型:PO、DTO、VO、BO定义区别与使用场景

目录 前言 PO&#xff08;持久化对象&#xff09; DTO&#xff08;数据传输对象&#xff09; VO&#xff08;视图对象&#xff09; BO&#xff08;业务对象&#xff09; 关键区别总结 典型应用场景 为什么要分层设计 工具支持 前言 在开发中&#xff0c;我们经常遇到…...

设计模式 --- 状态模式

状态模式​​是一种​​行为型设计模式​​&#xff0c;允许对象在内部状态改变时动态改变其行为​​&#xff0c;使对象的行为看起来像是改变了。该模式通过将状态逻辑拆分为独立类​​&#xff0c;消除复杂的条件分支语句&#xff0c;提升代码的可维护性和扩展性。 状态模式的…...

Java多态课堂练习题

Java多态课堂练习题 题目&#xff1a;动物乐园的多态展示 背景设定&#xff1a; 设计一个动物乐园程序&#xff0c;展示不同类型动物的行为特点&#xff0c;要求使用多态特性实现。 1. 基础类设计&#xff08;已给出部分代码&#xff09; // 基类&#xff1a;动物 abstract…...