123
This commit is contained in:
100
57-202503-鄂尔多斯机场/disk.sh
Normal file
100
57-202503-鄂尔多斯机场/disk.sh
Normal file
@@ -0,0 +1,100 @@
|
||||
#!/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/klas/swap 和 /dev/klas/backup,将vda2的空间全部分给/dev/klas/root
|
||||
swapoff /dev/klas/swap
|
||||
lvremove /dev/klas/swap
|
||||
# lvremove /dev/klas/backup
|
||||
lvextend -l +100%FREE /dev/klas/root
|
||||
xfs_growfs /dev/klas/root
|
||||
|
||||
# 2. 将vda的剩余空间创建 /vda3 分区, 创建 pv /dev/vda3
|
||||
if ! lsblk | grep -q vdb; then
|
||||
echo "/dev/vdb does not exist, skipping partition creation"
|
||||
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 ""
|
||||
|
||||
# 特殊大于2T的磁盘
|
||||
|
||||
请写shell命令实现如下的功能
|
||||
1 请调整磁盘/vda的分区表为GPT格式
|
||||
2 然后将磁盘剩余空间扩容给/dev/vda3的分区
|
||||
3 然后扩容在vg datavg
|
||||
4 然后扩容 将lv docklv
|
||||
|
||||
# 1. 调整磁盘 /dev/vda 的分区表为 GPT 格式
|
||||
parted /dev/vda mklabel gpt
|
||||
|
||||
# 2. 将磁盘剩余空间扩容给 /dev/vda3 的分区
|
||||
parted /dev/vda resizepart 3 100%
|
||||
|
||||
# 3. 扩容 vg datavg
|
||||
pvresize /dev/vda3
|
||||
|
||||
# 4. 扩容 lv docklv
|
||||
lvextend -l +100%FREE /dev/datavg/docklv
|
||||
resize2fs /dev/datavg/docklv
|
||||
|
||||
# 写shell命令,实现如下的功能
|
||||
删除 /etc/fstab中以 /dev/mapper/klas-backup 和 /dev/mapper/klas-swap 开头的行
|
||||
|
||||
sed -i '/^\/dev\/mapper\/klas-\(backup\|swap\)/d' /etc/fstab
|
||||
Reference in New Issue
Block a user