Files
CmiiDeploy/57-202503-鄂尔多斯机场/disk.sh
zeaslity d8e2c67e36 123
2025-03-14 13:48:54 +08:00

100 lines
2.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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