tsx81429 发表于 2024-10-4 16:05:39

Linux基础笔记18 | 磁盘分区管理

fdisk 分区工具

fdisk 这个古老的软件并不认识 GPT ,所以 fdisk 只支持 MBR 的分区模式,且磁盘小于2T,大于了就不能使用 fdisk 进行分区了
新磁盘的分区

一块新加的磁盘的分区方式
查抄系统中需要分区的磁盘
fdisk -l
https://i-blog.csdnimg.cn/blog_migrate/3d6699f1570d510af3bccd815d15cac7.png
对新磁盘进行磁盘分区
fdisk /dev/sdb
进入交互式分区界面
https://i-blog.csdnimg.cn/blog_migrate/1370cbeb2cfa00e8cea34963f3c1c600.png
键入 m 获取帮助信息
https://i-blog.csdnimg.cn/blog_migrate/565d4932a7096c946fab53db9b14889c.png
常用的下令选项


[*]d:删除一个分区
[*]n:添加一个新分区
[*]q:退出而不保存更改
[*]w:将分区表写入磁盘并退出
[*]m:打印帮助菜单
[*]p:打印分区表信息
[*]v:验证分区表
分区过程
命令(输入 m 获取帮助):n                                                                                # n:新建一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p                                                                                # p:分区类型是主分区
分区号 (1-4,默认 1):1                                                                       # 选择分区号
起始 扇区 (2048-104857599,默认为 2048):                                        # 起始扇区(默认就好)
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):+10G        # 分区大小
分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):w                                                        # 写入磁盘并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
#
查看新建的分区
fdisk -l
https://i-blog.csdnimg.cn/blog_migrate/e981b15639851dffe3b2ff914e47180f.png
格式化新建的分区
mkfs.xfs /dev/sdb1 或者mkfs.ext4 /dev/sdb1 不同文件系统类型(正常来说不应该加 -f ,-f 意思是强制覆盖现有的文件系统)
https://i-blog.csdnimg.cn/blog_migrate/e55aab9b3c8479f05cdb856f9e2fa4c4.png
末了挂载使用
mount /dev/sdb1 /home/ceshi/:将分区 sdb1 挂载在 /home/ceshi 目次下
https://i-blog.csdnimg.cn/blog_migrate/4d0c6d1ed8b431fc9743cac1143b3518.png
以上就是完备的一个新磁盘从分区到被系统使用的一个参考过程!
原有磁盘基础上分区

有时间会遇到有些磁盘还剩一点空间,需要在原来基础上增加分区,详细可以参考以下分区流程
确定待增加分区的磁盘信息
fdisk -l
https://i-blog.csdnimg.cn/blog_migrate/4ce51addb278be1c128588fd41326675.png
进入分区交互界面
https://i-blog.csdnimg.cn/blog_migrate/d2c910101df6c05ce25a4fb9c7d5dccd.png
接着分新的分区即可
# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n                                                                                        # 键入 n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)                                                # 键入 p
   e   extended
Select (default p): p
分区号 (2-4,默认 2):                                                                                # 默认回车就行
起始 扇区 (20973568-104857599,默认为 20973568):                        # 默认回车就行
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-104857599,默认为 104857599):+10G        # 设置分区大小
分区 2 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):w                                                # 写入磁盘
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.                # 有报错
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
#
# partprobe /dev/sdb
如遇到以上报错信息可通过partprobe /dev/sdb解决
   partprobe 下令用于重读分区表,将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。
查看新的分区信息
fdisk -l
https://i-blog.csdnimg.cn/blog_migrate/2b774042af21f5dd8f9d36fabcbad7a8.png
再格式化成对应的文件系统,挂载使用就行
df -h
https://i-blog.csdnimg.cn/blog_migrate/1e049cf47b2f1158238bf2b2500ba019.png
逻辑分区的参考

按照我们之前说的,MBR 方式的分区最多支持4个分区,如何进行更多分区操作呢?
先看下 “p+p+p+p” 情况下继续分区的情况
提示如果要创建4个以上的分区,必须使用一个扩展分区类型
https://i-blog.csdnimg.cn/blog_migrate/1878ab3ae32b6ccb6d183f857d47a34a.png
我们删除一个主分区,创建一个扩展分区,通过扩展分区创建出逻辑分区
命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e                                                                                ## 键入 e 创建出一个扩展分区
已选择分区 4
起始 扇区 (62916608-104857599,默认为 62916608):
将使用默认值 62916608
Last 扇区, +扇区 or +size{K,M,G} (62916608-104857599,默认为 104857599):+10G        # 设置扩展分区大小
分区 4 已设置为 Extended 类型,大小设为 10 GiB

命令(输入 m 获取帮助):n                                        ## 再次创建新分区,这个时候就是逻辑分区了
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (62918656-83888127,默认为 62918656):
将使用默认值 62918656
Last 扇区, +扇区 or +size{K,M,G} (62918656-83888127,默认为 83888127):+5G        ## ;逻辑分区大小不超过扩展分区
分区 5 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
# partprobe /dev/sdb
https://i-blog.csdnimg.cn/blog_migrate/d3ebb91a65e3f06db3350b789dcc441d.png
实验以下扩展分区巨细是否限制了逻辑分区巨细
确实是和扩展分区巨细相关联的
https://i-blog.csdnimg.cn/blog_migrate/6ec59f31554a7289136dd136b1dd7835.png
基于下令行非交互式创建分区方法

   方法参考:
Linux管理文件系统(2):分区和创建文件系统 | 骏马金龙 (junmajinlong.com)
基于表述输出和管道传输
现在对一块完备的磁盘进行演示
echo -e "n\np\n1\n\n+10G\nw"|fdisk /dev/sdb


[*]\n:换行,所以基于下令行的分区方式很简单的
[*]新建分区–分区类型为主分区–分区号是1–起始扇区回车选择默认–分区巨细是10G–保存更改信息
# echo -e "n\np\n1\n\n+10G\nw"|fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 分区号 (1-4,默认 1):起始 扇区 (2048-104857599,默认为 2048):将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
#
https://i-blog.csdnimg.cn/blog_migrate/def386e712e69c537894551bcfcf6044.png
parted 分区工具

为了能支持大于2T的磁盘空间,需要使用 GPT 格式进行分区,需要用到 parted 工具了


[*]parted 工具,每一步操作都是直接写入磁盘的,不同于 fdisk 和 gdisk 需要从内存的结果保存到磁盘中
新磁盘下的分区

进入 parted 分区界面
parted /dev/sdb
https://i-blog.csdnimg.cn/blog_migrate/55026b558a8ca42b55ca41b603b02aba.png
键入”help“查看帮助
https://i-blog.csdnimg.cn/blog_migrate/6a072c3fd8c8b29c0e9760e468eab569.png
进行分区操作
(parted) mklabel                        ## 设置分区类型为 gpt
新的磁盘标签类型? gpt                       
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want
to continue?
是/Yes/否/No? yes
(parted) mkpart                                ## 开始分区
分区名称?[]? p                        ## 分区类型
文件系统类型?? xfs        ## 文件系统类型
起始点? 1                                ## 磁盘的1M开始分区,默认单位是1M
结束点? 10G                        ## 到10GB的位置截至
(parted)
(parted) q                                ## 退出
信息: You may need to update /etc/fstab.
查看分区后的信息
https://i-blog.csdnimg.cn/blog_migrate/6175d5073ce8d01f83ded7c159ce21f9.png
格式化后挂载文件系统使用
mkfs.xfs -f /dev/sdb1
mount /dev/sdb1 /home/ceshi
https://i-blog.csdnimg.cn/blog_migrate/761fd29203763b67633e5a8427a2f6bd.png
原有磁盘下继续分区

进入交互式中
parted /dev/sdb
https://i-blog.csdnimg.cn/blog_migrate/cbb4bdd2ad31a3b54edffcf54737304f.png
键入 print 打印分区信息
https://i-blog.csdnimg.cn/blog_migrate/9f653f9def51c1de6dc897590c73954a.png
分区过程
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

NumberStart   End   Size    File systemName标志
1      1049kB10.0GB9999MBxfs          p

(parted) mkpart                                                                ## 开始分区
分区名称?[]? p                                                        ## 分区类型
文件系统类型?? xfs                                        ## 文件系统
起始点? 10000                                                                ## 起始点:上一个分区下一个点
结束点? 20G                                                        ## 空间大小
(parted) print                                                                ## 打印分区表
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

NumberStart   End   Size    File systemName标志
1      1049kB10.0GB9999MBxfs          p
2      10.0GB20.0GB9999MB               p

(parted)
格式化后挂载使用
mkfs.xfs -f /dev/sdb2
mount /dev/sdb2 /home/ceshi1
https://i-blog.csdnimg.cn/blog_migrate/6e0b572bfd171fae83c00af62433b41d.png
多个分区的实验

来看看 gpt 下能够分区的数量
重复上面的操作进行分区操作,可以看到我分出来了很多很多主分区,基本不受限制了
https://i-blog.csdnimg.cn/blog_migrate/b4338229669a6c0773ce34597176b695.png
基于下令行非交互式创建分区

一次只能一个动作
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart p xfs 1 10G
parted /dev/sdb mkpart p xfs 10G 20G
https://i-blog.csdnimg.cn/blog_migrate/2171564b7f48640a587d5a5e0ea24d2a.png
LVM 磁盘分区管理

LVM 相关概念与实现机制

Logical Volume Manager:LVM ,弹性分区,随时随地对分区进行扩缩容


[*]大多数发行版都会内置这个东西
[*]基于内核的一种逻辑卷管理器
[*]实用于管理大存储装备
相关概念

[*] PV:Physical Volume 物理卷

[*]磁盘分区后还未格式化成文件系统的时间可以通过 pvcreate 下令创建为 pv
[*]pv 要求分区的 system ID为 8e,即 LVM 格式的系统标识符
https://i-blog.csdnimg.cn/blog_migrate/e3a158a508cba9e31f8f6b73d9e8a2ea.png

[*] VG:Volume Group 卷组

[*]多个 PV 组合起来,通过 vgcreate 下令创建成卷组
[*]创建 VG 的时间,会将所有空间按照指定巨细的 PE 分别为很多个 PE
[*]LVM 模式下的存储都是以 PE 为单元

[*] PE:Physical Extend

[*]数据都是存储的地方

[*] LV:Logical Volume

[*]VG 中有很多 PE 单元,可以指定多少个 PE 或者巨细来再次分别,分别后统称为 LV,LV 就相称于分别了分区了,对 LV 在进行文件系统格式化就可以拿来使用了

[*] LE:logical extent

[*]LV 中的逻辑存储单元,和 PE 巨细是一样的,从 VG 中分别 LV,就是分配 PE 单元,只不外分别 LV 后,PE 就被称之为 LE 了

实现机制


[*]一个简单的图解
https://i-blog.csdnimg.cn/blog_migrate/d7acf82dcbb8eaabffae801d0f7699f8.png


[*]LV 中的 PE 可能来自多个 PV,在向 LV 写入数据时间,分几种机制

[*]线性模式:先写完来自于同一个PV 的 PE,再写来自下一个 PV 的 PE
[*]条带模式:一份数据拆分成多份,分别写入该 LV 对应的每个 PV 中,读写性能好
[*]默认使用的线性模式,因为扩缩容方便,LVM 最有效的也就是动态扩缩容

LVM 相关下令解析

PV
下令说明pvcreate创建 PVpvscan列出所有的 PVpvdisplay列出 PV 属性pvremove移除 PVpvmove移除 PV 中的数据 # pvdisplay
--- Physical volume ---
PV Name               /dev/sda2
VG Name               centos
PV Size               <19.00 GiB / not usable 3.00 MiB
Allocatable         yes (but full)
PE Size               4.00 MiB
Total PE            4863
Free PE               0
Allocated PE          4863
PV UUID               LeNFHF-2miV-2oYy-KDxG-Y0JQ-V2eS-ldi1ny

--- Physical volume ---
PV Name               /dev/sda3
VG Name               centos
PV Size               80.00 GiB / not usable 4.00 MiB
Allocatable         yes
PE Size               4.00 MiB
Total PE            20479
Free PE               1279
Allocated PE          19200
PV UUID               7QUzi3-FbDr-m3ud-YYOn-7IFS-gCmk-3IVEDW

# pvscan
PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
PV /dev/sda3   VG centos          lvm2 [<80.00 GiB / <5.00 GiB free]
Total: 2 / in use: 2 / in no VG: 0 ##PV 的总容量/已经使用的/未使用的
# pvdisplay -m
--- Physical volume ---
PV Name               /dev/sda2
VG Name               centos
PV Size               <19.00 GiB / not usable 3.00 MiB
Allocatable         yes (but full)
PE Size               4.00 MiB
Total PE            4863
Free PE               0
Allocated PE          4863
PV UUID               LeNFHF-2miV-2oYy-KDxG-Y0JQ-V2eS-ldi1ny

--- Physical Segments ---
Physical extent 0 to 511:                                        ## 0-511个PE在使用
    Logical volume      /dev/centos/swap
    Logical extents   0 to 511                  ## 该PE在LV中的第0个LE位置上,这个地方是用满了的
Physical extent 512 to 4862:
    Logical volume      /dev/centos/root
    Logical extents   0 to 4350

--- Physical volume ---
PV Name               /dev/sda3
VG Name               centos
PV Size               80.00 GiB / not usable 4.00 MiB
Allocatable         yes
PE Size               4.00 MiB
Total PE            20479
Free PE               1279
Allocated PE          19200
PV UUID               7QUzi3-FbDr-m3ud-YYOn-7IFS-gCmk-3IVEDW

--- Physical Segments ---
Physical extent 0 to 19199:                                        ## 0-19199个PE在使用
    Logical volume      /dev/centos/root
    Logical extents   4351 to 23550                        ## PE在第4351个LE位置上
Physical extent 19200 to 20478:                        ## 19200-20478序号的PE没被使用
    FREE

#
VG
下令说明vgcreate创建 VGvgscan列出所有的 VGvgdisplay列出 VG 属性vgremove移除 VG,删除 VGvgreduce从 VG 中移除 PVvgextend将 PV 添加到 VG 中vgchange修改 VG 属性

[*]vgscan 征采有几个 vg 并显示 vg 的基本属性
[*]vgcreate 是创建 vg
[*]vgdisplay 是列出 vg 的详细信息
[*]vgremove 是删除整个v g
[*]vgextend 用于扩展 vg 即将 pv 添加到 vg 中
[*]vgreduce 是将 pv 移除出 vg
[*]vgchange 用于改变 vg 的属性,如修改 vg 的状态为激活状态或未激活状态
LV
下令说明lvcreate创建 LVlvscan扫描并列出所有的 LVlvdisplay列出 LV 属性信息lvremove移除 LV,即删除 LVlvreduce(lvresize)缩小 LV 容量lvextend(lvresize)增大 LV 容量lvresize改变 LV 容量 LVM 分区过程参考

根据上述的下令操作方法,来进行一个 LVM 分区过程
查看需要进行分区的磁盘信息
fdisk -l
https://i-blog.csdnimg.cn/blog_migrate/322a3cdf82b4d4c94dff15772fa6d209.png
先使用 fdisk 进行标准化分区,不需要格式化
https://i-blog.csdnimg.cn/blog_migrate/20a254a3f85470be1f260696a7641313.png
此中2个分区创建一个 PV
# pvcreate /dev/sdb1 /dev/sdb2
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? : y
Wiping xfs signature on /dev/sdb1.
WARNING: xfs signature detected on /dev/sdb2 at offset 0. Wipe it? : y
Wiping xfs signature on /dev/sdb2.
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
#
https://i-blog.csdnimg.cn/blog_migrate/074af254aa3e67d8f9f746e48ad25358.png
创建一个测试 VG
# vgcreate test_vg /dev/sdb{1,2}
Volume group "test_vg" successfully created
# vgdisplay test_vg
--- Volume group ---
VG Name               test_vg
System ID
Format                lvm2
Metadata Areas      2
Metadata Sequence No1
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                2
Act PV                2
VG Size               19.99 GiB
PE Size               4.00 MiB
Total PE            5118
Alloc PE / Size       0 / 0
FreePE / Size       5118 / 19.99 GiB
VG UUID               3YMuNV-Jxmr-rgdN-gl5z-YRRw-IGq1-gSiZqW

#
创建 lv
# lvcreate -n test_lv1 -L 1G test_vg        ## -n指定lv名称 -L 指定大小 -l 指定PE数量
Logical volume "test_lv1" created.
# lvcreate -n test_lv2 -l 2000 test_vg
Logical volume "test_lv2" created.
# lvdisplay
--- Logical volume ---
LV Path                /dev/test_vg/test_lv1
LV Name                test_lv1
VG Name                test_vg
LV UUID                1A2yQf-9Mr7-ri1Y-gzK4-oyj6-Nr4C-WEjQ43
LV Write Access      read/write
LV Creation host, time vm10, 2022-09-08 15:08:47 +0800
LV Status            available
# open               0
LV Size                1.00 GiB
Current LE             256
Segments               1
Allocation             inherit
Read ahead sectors   auto
- currently set to   8192
Block device         253:2

--- Logical volume ---
LV Path                /dev/test_vg/test_lv2
LV Name                test_lv2
VG Name                test_vg
LV UUID                OM2Jvm-uYDa-9LMH-8uhP-QVwo-vqF5-LUMK3E
LV Write Access      read/write
LV Creation host, time vm10, 2022-09-08 15:09:18 +0800
LV Status            available
# open               0
LV Size                7.81 GiB
Current LE             2000
Segments               1
Allocation             inherit
Read ahead sectors   auto
- currently set to   8192
Block device         253:3

--- Logical volume ---
LV Path                /dev/centos/swap
LV Name                swap
VG Name                centos
LV UUID                SGdwb8-TfNw-arTQ-ic4M-OwAB-1G68-PMYdBS
LV Write Access      read/write
LV Creation host, time localhost.localdomain, 2022-07-20 13:57:18 +0800
LV Status            available
# open               2
LV Size                2.00 GiB
Current LE             512
Segments               1
Allocation             inherit
Read ahead sectors   auto
- currently set to   8192
Block device         253:1

--- Logical volume ---
LV Path                /dev/centos/root
LV Name                root
VG Name                centos
LV UUID                3GSliK-ZJFv-hKnR-756n-z1wR-bUfc-2c0tiU
LV Write Access      read/write
LV Creation host, time localhost.localdomain, 2022-07-20 13:57:19 +0800
LV Status            available
# open               1
LV Size                <92.00 GiB
Current LE             23551
Segments               2
Allocation             inherit
Read ahead sectors   auto
- currently set to   8192
Block device         253:0

#
格式化成文件系统并挂载使用
https://i-blog.csdnimg.cn/blog_migrate/e06d9adea4d448470ee0189742ea7010.png
https://i-blog.csdnimg.cn/blog_migrate/a4506b548b1385bf2740a0c002327290.png
LVM 的扩容操作

扩容的实质


[*]将 vg 中闲置的 PE 添加到 lv 中
[*]没有闲置的 pe,可以添加 pv,将 pv 空间加入到 vg 中
实验操作1参考:vg 中还有未被使用的 pe

[*] 查看 vg 中的使用情况:还有2862 个 pe 没有使用,大约11G巨细
https://i-blog.csdnimg.cn/blog_migrate/46c1eee8ef191e2799959e09ba2e8c42.png
[*] 直接将闲置的 pe 添加到 lv 中:-l 使用PE数量进行添加;-L 使用巨细进行添加
https://i-blog.csdnimg.cn/blog_migrate/491a02a28845c62cb02da29c746dbbb4.png
[*] 调解文件系统巨细:is OK
https://i-blog.csdnimg.cn/blog_migrate/82f57897ae389cf6dfe46de64e081938.png
实验操作2参考:vg 中没有可分配的 pe

[*] 查看 vg 中的使用情况:用完了
https://i-blog.csdnimg.cn/blog_migrate/cf53bbf6b8459e6c31b73687007de585.png
[*] 用完了我们就需要把额外的 pv 添加到 vg 当中去

[*]再利用分区出来的 sdb3 和sdb4 创建一个 pv
https://i-blog.csdnimg.cn/blog_migrate/c2afd7a90f675c1d74abfd40349ac181.png
   

[*]创建 pv
https://i-blog.csdnimg.cn/blog_migrate/aeaf72e559cc3cec5544476fb00119b5.png
   

[*]将创建好的 pv 添加到 vg 中
https://i-blog.csdnimg.cn/blog_migrate/daa983d97e44439c02db126256d06ba0.png

[*] 再次查看 vg 的使用情况:有了闲置的 pe
https://i-blog.csdnimg.cn/blog_migrate/20625e8404fb989caac5d8232b2be996.png
[*] 对 lv 进行添加后,重新调解文件系统巨细:is ok
https://i-blog.csdnimg.cn/blog_migrate/7734b05ab2f55fc5283ee1008bc35d84.png
LVM 的缩容操作

理论来说,我们不考虑磁盘的缩容操作


[*]只能用 ext4 的文件格式来演示
[*]xfs 的文件系统只能扩容,不能缩容,如果要缩容,就只能备份数据后,删掉重修 lv,再把数据规复已往
我们先把之前的操作都取消
着实也不必如此,就当练习了
https://i-blog.csdnimg.cn/blog_migrate/7451e3605bc0c462dc45fc5d6c770009.png
我们再来创建基于 ext4 类型的文件系统
https://i-blog.csdnimg.cn/blog_migrate/6b510ac665df2f0e78858a51b6548d42.png
https://i-blog.csdnimg.cn/blog_migrate/a69e008b357030e31838f531d017f434.png
查看 LVM 基本相关信息:我们要将 /dev/sdb4 的10G这个磁盘给缩容掉
https://i-blog.csdnimg.cn/blog_migrate/4d0c6d1ed8b431fc9743cac1143b3518.png
先卸载装备
https://i-blog.csdnimg.cn/blog_migrate/e03c03bac62da4e6428637c4d125cd1e.png
使用 resize2fs 紧缩文件系统的容量为目的巨细
https://i-blog.csdnimg.cn/blog_migrate/fb69c92617fbb2e8b39383914d6fc040.png
缩容 lv
https://i-blog.csdnimg.cn/blog_migrate/8133e82508209cddb8269cd7efc29f5d.png
再次查看 PV 上的闲置 PE情况
闲置的 pe 分布在sdb3 和sdb4上,所以我们就可以直接直接移除sdb4的pv
https://i-blog.csdnimg.cn/blog_migrate/7f045fc924833000b6f8ff12cc828f7c.png
从 vg 中移除 pv
https://i-blog.csdnimg.cn/blog_migrate/bee10d293429ba311b67f8af8fca7d92.png
再删除 pv 就可以了:又是一个正常的分区
https://i-blog.csdnimg.cn/blog_migrate/75ed4d14fd799f57bb154da2bd0ba100.png
验证一下缩容后的是否能够正常使用:is OK
https://i-blog.csdnimg.cn/blog_migrate/5b3eb2b867c39604724aceb7b632f708.png
https://i-blog.csdnimg.cn/blog_migrate/58ac2d4455ee4bb6bdb67749667ee6db.png
LVM 中的 snapshot 快照技能

   参考链接:使用LVM | 骏马金龙 (junmajinlong.com)


[*]类似于软件的还原时间点功能
[*]针对某一个lv逻辑卷操作
[*]快照卷的巨细应该尽量等同于 LV 逻辑卷的容量
[*]功能仅一次有效,一旦被还原后则会主动立即删除
先看下LVM 中的 VG 信息
可以看到已经使用了2000个PE,大约7.8个G,还剩大约12个G
https://i-blog.csdnimg.cn/blog_migrate/ae40b7dc985407332e62778174789ff7.png
在挂载目次下准备文件
https://i-blog.csdnimg.cn/blog_migrate/bba1ef918ec4344cc93010535f60a3f4.png
天生快照卷


[*]-L 参数指定切割巨细
https://i-blog.csdnimg.cn/blog_migrate/e981b15639851dffe3b2ff914e47180f.png
查看快照卷
https://i-blog.csdnimg.cn/blog_migrate/ef694e02de7435b301e106f54c965f24.png
模拟数据故障
https://i-blog.csdnimg.cn/blog_migrate/f33cc245b3818d2da53005836ce7f753.png
挂载快照
题目处置惩罚:无法挂载这个磁盘(2个逻辑卷使用的UUID一样了,xfs文件系统不允许,加参数再挂载一下)
https://i-blog.csdnimg.cn/blog_migrate/823ece06aa8429d2ef994c692ae5f51b.png
https://i-blog.csdnimg.cn/blog_migrate/95969f84a766637ef730d427de74364d.png
https://i-blog.csdnimg.cn/blog_migrate/2d22e06c40d0a218f80b434ffbebe423.png
还原数据
可以从挂载点里面拷贝数据已往了,这就是最简单的使用方法了
https://i-blog.csdnimg.cn/blog_migrate/210f4ec1c12c36cad83245f876fa2b88.png
合并快照的方式

[*]准备好测试数据
https://i-blog.csdnimg.cn/blog_migrate/af010b538b21e0b709795ce9056107e0.png

[*]做一下快照
https://i-blog.csdnimg.cn/blog_migrate/ea3a854595fa1e88c6a01d0d037bcdfc.png

[*]模拟故障
https://i-blog.csdnimg.cn/blog_migrate/8e47e6eff5c1fc54514c8a6d0900f5b7.png

[*]卸载逻辑卷挂载点和快照卷
https://i-blog.csdnimg.cn/blog_migrate/9fa4d33ff6e4f1669eaeda3c5303a790.png

[*]合并快照(要确定卸载了挂载点):合并以后就会删除快照
https://i-blog.csdnimg.cn/blog_migrate/7fb4c7c0737684b4e07d6ad95a0fe8ff.png

[*]重新挂载逻辑卷:被破坏的数据规复了
https://i-blog.csdnimg.cn/blog_migrate/e611f2f467680ae2d8df94930d4b9312.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux基础笔记18 | 磁盘分区管理