#!/bin/bash # vda 252:0 0 500G 0 disk # ├─vda1 252:1 0 1G 0 part /boot # └─vda2 252:2 0 119G 0 part # ├─klas-root 253:0 0 74.7G 0 lvm / # ├─klas-swap 253:1 0 7.9G 0 lvm # └─klas-backup 253:2 0 36.4G 0 lvm # 系统的磁盘划分为上图所示,请给出shell命令实现如下的功能 # 1. 关闭/dev/klas/swap /dev/klas/backup 将vda2的磁空间全部分给/dev/klas/root # 2. 将vda的剩余空间创建 /vda3 分区, 创建 pv /dev/vda3 # 3. 在pv /dev/vda3上创建 vg datavg,大小为全部空间 # 4. 在vg datavg上创建lv docklv,大小为全部空间 # 5. 将lv docklv格式化为xfs格式 # 6. 将lv docklv挂载到 /var/lib/docker # 7. 将lv docklv的挂载点设置为永久挂载 # 1. 关闭/dev/kals/swap 和 /dev/kals/backup,将vda2的空间全部分给/dev/klas/root swapoff /dev/kals/swap echo "y\n" | lvremove /dev/kals/swap # lvremove /dev/klas/backup lvextend -l +100%FREE /dev/kals/root xfs_growfs /dev/kals/root # 2. 将vda的剩余空间创建 /vda3 分区, 创建 pv /dev/vda3 if ! lsblk | grep -q vdb; then echo "" echo "/dev/vdb does not exist, skipping partition creation" echo "" df -TH echo "" lsblk echo "" exit 0 fi # 1. 调整磁盘 /dev/vdb 的分区表为 GPT 格式 echo yes | parted /dev/vdb mklabel gpt echo "/dev/vdb exists, starting to partition creation" echo "n p t 8e w " | fdisk /dev/vdb partprobe pvcreate /dev/vdb1 # 3. 在pv /dev/vdb1上创建 vg datavg,大小为全部空间 vgcreate datavg /dev/vdb1 # 4. 在vg datavg上创建lv docklv,大小为全部空间 lvcreate -l 100%FREE -n docklv datavg # 5. 将lv docklv格式化为xfs格式 mkfs.xfs /dev/datavg/docklv # 6. 将lv docklv挂载到 /var/lib/docker mkdir -p /var/lib/docker mount /dev/datavg/docklv /var/lib/docker # 7. 将lv docklv的挂载点设置为永久挂载 echo "/dev/datavg/docklv /var/lib/docker xfs defaults 0 0" >> /etc/fstab echo "" df -TH echo "" lsblk echo ""