linux的一些基本操作问题

  1. 添加三块硬盘/dev/sdb 20G,/dev/sdc 30G,/dev/sdd 50G 要求对sdc进行分区/dev/sdc1 5G /sdc5 10G
  2. 创建卷组 vg1 , 添加三个pv ,/dev/sdc1 /dev/sdc5 /dev/sdd PE为16M
  3. 创建逻辑卷 lv1 大小为 20G ,并做成ext4文件系统。
  4. 将逻辑卷lv1挂载在/mnt/data_test 上,要求开机自动挂载。
  5. 将逻辑卷lv1在线扩展容量到40G。
  6. 逻辑卷lv1 容量缩小至12G。

添加三块硬盘 /dev/sdb 20G,/dev/sdc 30G,/dev/sdd 50G:

sudo fdisk /dev/sdb  # 进入 fdisk 分区工具
# 按 n 创建新分区,选择默认选项,创建分区 /dev/sdb1
sudo mkfs.ext4 /dev/sdb1  # 格式化分区为 ext4 文件系统

sudo fdisk /dev/sdc  # 进入 fdisk 分区工具
# 按 n 创建新分区,选择默认选项,创建分区 /dev/sdc1
# 按 n 创建新分区,选择默认选项,创建分区 /dev/sdc5
sudo mkfs.ext4 /dev/sdc1  # 格式化分区为 ext4 文件系统
sudo mkfs.ext4 /dev/sdc5  # 格式化分区为 ext4 文件系统

sudo fdisk /dev/sdd  # 进入 fdisk 分区工具
# 按 n 创建新分区,选择默认选项,创建分区 /dev/sdd1
sudo mkfs.ext4 /dev/sdd1  # 格式化分区为 ext4 文件系统

创建卷组 vg1,添加三个物理卷 /dev/sdc1、/dev/sdc5、/dev/sdd1,PE 为 16M:

sudo vgcreate vg1 /dev/sdc1 /dev/sdc5 /dev/sdd1  # 创建卷组 vg1,并添加三个物理卷
sudo vgdisplay vg1  # 显示卷组信息,确认卷组创建成功

创建逻辑卷 lv1,大小为 20G,并做成 ext4 文件系统:

sudo lvcreate -L 20G -n lv1 vg1  # 创建大小为 20G 的逻辑卷 lv1
sudo mkfs.ext4 /dev/vg1/lv1  # 格式化逻辑卷为 ext4 文件系统

将逻辑卷 lv1 挂载在 /mnt/data_test 上,并设置开机自动挂载:

sudo mkdir /mnt/data_test  # 创建挂载点 /mnt/data_test
sudo mount /dev/vg1/lv1 /mnt/data_test  # 挂载逻辑卷到 /mnt/data_test
sudo echo "/dev/mapper/vg1-lv1 /mnt/data_test ext4 defaults 0 0" >> /etc/fstab  # 设置开机自动挂载

将逻辑卷 lv1 在线扩展容量到 40G:

sudo lvextend -L 40G /dev/vg1/lv1  # 扩展逻辑卷容量到 40G
sudo resize2fs /dev/vg1/lv1  # 调整文件系统大小以适应扩展后的逻辑卷

将逻辑卷 lv1 容量缩小至 12G:

sudo umount /mnt/data_test  # 卸载挂载点
sudo fsck -f /dev/vg1/lv1
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:
    1. 添加三块硬盘/dev/sdb 20G,/dev/sdc 30G,/dev/sdd 50G

    首先需要确认硬盘已正确连接到计算机,并通过以下步骤进行分区:

    $ sudo fdisk /dev/sdb
    $ sudo fdisk /dev/sdc
    $ sudo fdisk /dev/sdd
    

    在分区交互界面,按照提示进行分区即可。

    1. 对sdc进行分区/dev/sdc1 5G /sdc5 10G

    在分区交互界面中,使用n命令创建新分区并输入分区大小和类型(主分区或扩展分区),然后使用t命令更改分区类型。最后使用w命令保存并退出分区交互界面。

    具体步骤如下:

    $ sudo fdisk /dev/sdc
    Command (m for help): n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-62914559, default 2048): 
    Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): +5G
    
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): e
    Partition number (2-4, default 2): 
    First sector (10485760-62914559, default 10485760): 
    Last sector, +sectors or +size{K,M,G} (10485760-62914559, default 62914559): +10G
    
    Command (m for help): t
    Partition number (1-5): 2
    Hex code (type L to list codes): 5
    
    Command (m for help): w
    
    1. 创建卷组vg1,添加三个pv,其中包括/dev/sdc1 /dev/sdc5 /dev/sdd,PE大小为16M

    首先需要确认物理卷已正确准备,然后使用以下命令来创建卷组和添加物理卷:

    $ sudo pvcreate /dev/sdc1 /dev/sdc5 /dev/sdd
    $ sudo vgcreate vg1 /dev/sdc1 /dev/sdc5 /dev/sdd --physicalextentsize 16m
    

    其中,pvcreate命令是将指定的硬盘或分区标记为物理卷,vgcreate命令是创建卷组并将指定的物理卷添加到卷组中。

    1. 创建逻辑卷lv1,大小为20G,并做成ext4文件系统。将逻辑卷lv1挂载在/mnt/data_test上,并且要求开机自动挂载

    使用以下命令创建逻辑卷和文件系统,并将其挂载:

    $ sudo lvcreate -n lv1 -L 20G vg1
    $ sudo mkfs.ext4 /dev/vg1/lv1
    $ sudo mkdir /mnt/data_test
    $ sudo mount /dev/vg1/lv1 /mnt/data_test
    

    其中,lvcreate命令是创建逻辑卷,mkfs.ext4命令是创建ext4文件系统,mkdir命令是创建挂载点,mount命令是挂载逻辑卷。

    为了实现开机自动挂载,需要将以下行添加到/etc/fstab文件中:

    /dev/vg1/lv1    /mnt/data_test    ext4    defaults    0    0
    
    1. 将逻辑卷lv1在线扩展容量到40G,并且容量缩小至12G

    使用以下命令在线扩展逻辑卷大小:

    $ sudo lvextend -L 40G /dev/vg1/lv1
    $ sudo resize2fs /dev/vg1/lv1
    

    其中,lvextend命令是扩展逻辑卷大小,resize2fs命令是调整文件系统大小以匹配新的逻辑卷大小。

    使用以下命令在线缩小逻辑卷大小:

    $ sudo umount /mnt/data_test
    $ sudo e2fsck -f /dev/vg1/lv1
    $ sudo resize2fs /dev/vg1/lv1 12G
    $ sudo lvreduce -L 12G /dev/vg1/lv1
    $ sudo mount /dev/vg1/lv1 /mnt/data_test
    

    其中,umount命令是卸载逻辑卷,e2fsck命令是检查文件系统的完整性,resize2fs命令是调整文件系统大小以匹配新的逻辑卷大小,lvreduce命令是缩小逻辑卷大小,mount命令是挂载逻辑卷。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^