故计算机网络:(二)计算机网络在我国发展与网络类别与性能 (附带图谱更好对比理解)B

县犯趴彩比起传统的硬盘分区管理方式,LVM更富于灵活性:

将多块硬盘看作一块大硬盘

使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。

可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小。

在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间。

可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建、删除、调整大小等操作。

无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上。

允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小。

支持各种设备映射目标(device-mapper targets),包括透明文件系统加密和缓存常用数据(caching of frequently used data)。这将允许你创建一个包含一个或多个磁盘、并用LUKS加密的系统,使用LVM on top 可轻松地管理和调整这些独立的加密卷 (例如. /, /home, /backup等) 并免去开机时多次输入密钥的麻烦。

缺点

在系统设置时需要更复杂的额外步骤。

Windows系统并不支持LVM,若使用双系统,你将无法在Windows上访问LVM分区。

图解lvm工作流程

普通磁盘: 格式化文件系统、block=4KB ,有N个block-->挂载分区使用

lvm磁盘: 磁盘、格式化为PV(磁盘的容量被分为N个PE) ,PE默认单位是4MB,等于1024个block-->PV加入卷组VG(动态伸缩的大磁盘)-->创建逻辑卷LV(等于创建了分区)-->格式化文件系统xfs (sdb sdc sdd),逻辑卷-->挂载使用

lvm常用命令

pv命令

# 1.前提是需要安装lvm命令

yum install lvm2 -y

# 2.创建pv

pvcreate /dev/sdb /dev/sdc

Physical volume "/dev/sdb" successfully created.

Physical volume "/dev/sdc" successfully created.

# 3.查看pv

pvs

PV VG Fmt Attr PSize PFree

/dev/sdb lvm2 --- 20.00g 20.00g

/dev/sdc lvm2 --- 20.00g 20.00g

pvscan

PV /dev/sdb lvm2 [20.00 GiB]

PV /dev/sdc lvm2 [20.00 GiB]

Total: 2 [40.00 GiB] / in use: 0 [0 ] / in no VG: 2 [40.00 GiB]

pvdisplay

"/dev/sdb" is a new physical volume of "20.00 GiB"

--- NEW Physical volume ---

PV Name /dev/sdb

VG Name

PV Size 20.00 GiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID GfgfYb-bh9z-ds63-UXwP-Qaad-eGIw-ZxsG7Q

"/dev/sdc" is a new physical volume of "20.00 GiB"

--- NEW Physical volume ---

PV Name /dev/sdc

VG Name

PV Size 20.00 GiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID 3CcXdo-M6Zx-N6Dn-4SkN-BPk7-a8Ad-Ft2Ixl

# 4.删除pv

pvremove /dev/sdb /dev/sdc

Labels on physical volume "/dev/sdb" successfully wiped.

Labels on physical volume "/dev/sdc" successfully wiped.

vg命令

# 1.首先要创建pv

pvcreate /dev/sdb /dev/sdc

Physical volume "/dev/sdb" successfully created.

Physical volume "/dev/sdc" successfully created.

# 2.创建(加入)卷组

vgcreate vg-0224 /dev/sdb /dev/sdc

Volume group "vg-0224" successfully created

# 3.查看卷组

vgs

VG #PV #LV #SN Attr VSize VFree

vg-0224 2 0 0 wz--n- 39.99g 39.99g

vgscan

Reading volume groups from cache.

Found volume group "vg-0224" using metadata type lvm2

vgdisplay

--- Volume group ---

VG Name vg-0224

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 1

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 39.99 GiB

PE Size 4.00 MiB

Total PE 10238

Alloc PE / Size 0 / 0

Free PE / Size 10238 / 39.99 GiB

VG UUID SVUaXR-9JXY-o5WP-XFAW-kCvo-flnt-W3H867

# 4.扩容vg,新的硬盘直接加入vg即可,会自动创建成pv。

vgextend vg-0224 /dev/sdd

Physical volume "/dev/sdd" successfully created.

Volume group "vg-0224" successfully extended

# 5.删除vg

vgremove vg-0224

Volume group "vg-0224" successfully removed

lv命令

# 1. 创建lv

# -L 指定逻辑卷的大小

# -l 指定逻辑卷的大小(PE个数)

# -n 后面跟逻辑卷名

# -s 创建快照

# 创建lv,设定为卷组容量的一半

lvcreate -n 0224lv1 -l 50%VG vg-0224

Logical volume "0224lv1" created.

# 指定逻辑卷大小

lvcreate -n 0224lv2 -L 10G vg-0224

Logical volume "0224lv2" created.

# 2.查看逻辑卷信息

lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

0224lv1 vg-0224 -wi-a----- 29.99g

0224lv2 vg-0224 -wi-a----- 10.00g

# 3.扩容

# 给lv增加10G

lvextend -L +10G /dev/vg-0224/0224lv1

Size of logical volume vg-0224/0224lv1 changed from 29.99 GiB (7678 extents) to 39.99 GiB (10238 extents).

Logical volume vg-0224/0224lv1 successfully resized.

# 调整到49G大小

lvextend -L 49G /dev/vg-0224/0224lv1

Size of logical volume vg-0224/0224lv1 changed from 39.99 GiB (10238 extents) to 49.00 GiB (12544 extents).

Logical volume vg-0224/0224lv1 successfully resized.

# 上面虽然调整了 lv2逻辑卷的大小,但是文件系统它不知道,你得告诉文件系统,也跟着调整分区的容量,以及重新设置block的数量

# ext4文件系统,使用resize2fs命令

# xfs文件系统,使用xfs_growfs调整大小

# 4.删除逻辑卷

lvremove /dev/vg-0224/0224lv1

Do you really want to remove active logical volume vg-0224/0224lv1? [y/n]: y

Logical volume "0224lv1" successfully removed

lvm创建实战

# 1.安装lvm

yum install lvm2 -y

# 2.查看pv

pvs

# 3.创建pv

pvcreate /dev/sdb /dev/sdc

# 4.查看创建后的pv

pvs

PV VG Fmt Attr PSize PFree

/dev/sdb lvm2 --- 20.00g 20.00g

/dev/sdc lvm2 --- 20.00g 20.00g

# 5.查看vg

vgs

# 6.创建vg ,sdb sdc创建为卷组,名字是 vg-0224

vgcreate vg-0224 /dev/sdb /dev/sdc

Volume group "vg-0224" successfully created

# 7.查看创建后的vg

vgs

VG #PV #LV #SN Attr VSize VFree

vg-0224 2 0 0 wz--n- 39.99g 39.99g

# 8.查看lv

lvs

# 9.创建lv(创建分区)

# 分配lv1 20G

lvcreate -n lv1 -L 20G vg-0224

Logical volume "lv1" created.

# 分配lv2 15G

lvcreate -n lv2 -L 15G vg-0224

Logical volume "lv2" created.

# 10. 查看创建后的lv

lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

lv1 vg-0224 -wi-a----- 20.00g

lv2 vg-0224 -wi-a----- 15.00g

ls /dev/vg-0224/

lv1 lv2

# 11.查看磁盘设备信息

# 通过如下命令,查看lvm设备的信息

blkid |grep 'sd[bc]'

/dev/sdc: UUID="EtdTLT-GCsq-3GOd-epgG-iWHE-TyMp-vnV3wq" TYPE="LVM2_member"

/dev/sdb: UUID="OC52bo-rsOY-s24k-1hPs-YEsE-wcEN-XL9Yhx" TYPE="LVM2_member"

# 12.给lv格式化文件系统

# lv1格式化为xfs

mkfs.xfs /dev/vg-0224/lv1

# lv2格式化为ext4

mkfs.ext4 /dev/vg-0224/lv2

# 13.挂载lv

mount /dev/vg-0224/lv1 /data

mount /dev/vg-0224/lv2 /opt

# 14.查看挂载

df -h

Filesystem Size Used Avail Use% Mounted on

devtmpfs 476M 0 476M 0% /dev

tmpfs 487M 0 487M 0% /dev/shm

tmpfs 487M 7.7M 479M 2% /run

tmpfs 487M 0 487M 0% /sys/fs/cgroup

/dev/sda1 30G 4.2G 26G 14% /

tmpfs 98M 0 98M 0% /run/user/0

/dev/mapper/vg--0224-lv1 20G 33M 20G 1% /data

/dev/mapper/vg--0224-lv2 15G 41M 14G 1% /opt

lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 30G 0 disk

└─sda1 8:1 0 30G 0 part /

sdb 8:16 0 20G 0 disk

└─vg--0224-lv1 253:0 0 20G 0 lvm /data

sdc 8:32 0 20G 0 disk

├─vg--0224-lv1 253:0 0 20G 0 lvm /data

└─vg--0224-lv2 253:1 0 15G 0 lvm /opt

sdd 8:48 0 20G 0 disk

sr0 11:0 1 4.4G 0 rom

# 15.开机自动挂载

# 一定切记,如果你的设备发生了变化,一定要去修改/etc/fstab,否则系统开机,读取该fstab文件,找不到设备,无法正确挂载就会报错

进入紧急模式,直到你再次修复fstab文件

tail -2 /etc/fstab

/dev/mapper/vg--0224-lv1 /data xfs defaults 0 0

/dev/mapper/vg--0224-lv2 /opt ext4 defaults 0 0

lvm扩容

# 先查看当前机器的lv情况,确定你要扩容的设备

df -h |grep /data

/dev/mapper/vg--0224-lv1 20G 33M 20G 1% /data

# 扩容到4G的需求,分两种情况

1. 卷组容量够,直接扩容

2. 卷组容量不够,加新硬盘,再次pv化,加入卷组之后再扩容

方案1,卷组容量够

# 1.确认vg够不够

vgs

VG #PV #LV #SN Attr VSize VFree

vg-0224 2 2 0 wz--n- 39.99g 4.99g

# 2.确认够用,直接lvextend扩容lv逻辑卷即可

# 给lv1增加4G

lvextend -L +4G /dev/vg-0224/lv1

Size of logical volume vg-0224/lv1 changed from 20.00 GiB (5120 extents) to 24.00 GiB (6144 extents).

Logical volume vg-0224/lv1 successfully resized.

# 注意,这里还有另一种用法:直接扩容到24G

lvextend -L 24G /dev/vg-0224/lv1

# 3. 查看扩容后的lv

lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

lv1 vg-0224 -wi-ao---- 24.00g

lv2 vg-0224 -wi-ao---- 15.00g

# 4. 虽然调整了 lv1逻辑卷的大小,但是文件系统它不知道,得告诉文件系统也跟着调整分区的容量。

# ext4文件系统,使用resize2fs命令,xfs文件系统,使用xfs_growfs调整大小

# 查看lv1文件系统的类别

df -T |grep lv1

/dev/mapper/vg--0224-lv1 xfs 20961280 32992 20928288 1% /data

# 可以看到是xfs,使用xfs_growfs扩容即可

xfs_growfs /dev/mapper/vg--0224-lv1

meta-data=/dev/mapper/vg--0224-lv1 isize=512 agcount=4, agsize=1310720 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0 spinodes=0

data = bsize=4096 blocks=5242880, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0 ftype=1

log =internal bsize=4096 blocks=2560, version=2

= sectsz=512 sunit=0 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

data blocks changed from 5242880 to 6291456

# 5. 查看扩容后的大小

df -hT |grep lv1

/dev/mapper/vg--0224-lv1 xfs 24G 33M 24G 1% /data

情况2,卷组容量不够了

# 1.创建新硬盘

# 添加一个20G硬盘

lsblk |grep sdd

sdd 8:48 0 20G 0 disk

# 2. 给硬盘pv化

pvcreate /dev/sdd

Physical volume "/dev/sdd" successfully created.

# 3. 查看pv

pvs

PV VG Fmt Attr PSize PFree

/dev/sdb vg-0224 lvm2 a-- <20.00g 0

/dev/sdc vg-0224 lvm2 a-- <20.00g 1016.00m

/dev/sdd lvm2 --- 20.00g 20.00g

# 4.查看vg

vgs

VG #PV #LV #SN Attr VSize VFree

vg-0224 2 2 0 wz--n- 39.99g 1016.00m

# 5.vg扩容

vgextend vg-0224 /dev/sdd

Volume group "vg-0224" successfully extended

# 6. 查看扩容后的vg

vgs

VG #PV #LV #SN Attr VSize VFree

vg-0224 3 2 0 wz--n- <59.99g <20.99g

# 7.扩容lv

lvextend -L 40G /dev/vg-0224/lv1

Size of logical volume vg-0224/lv1 changed from 24.00 GiB (6144 extents) to 40.00 GiB (10240 extents).

Logical volume vg-0224/lv1 successfully resized.

# 8.查看扩容后的lv

lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

lv1 vg-0224 -wi-ao---- 40.00g

lv2 vg-0224 -wi-ao---- 15.00g

# 9.调整xfs文件系统

xfs_growfs /dev/mapper/vg--0224-lv1

meta-data=/dev/mapper/vg--0224-lv1 isize=512 agcount=5, agsize=1310720 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0 spinodes=0

data = bsize=4096 blocks=6291456, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0 ftype=1

log =internal bsize=4096 blocks=2560, version=2

= sectsz=512 sunit=0 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

data blocks changed from 6291456 to 10485760

# 10.查看磁盘挂载容量情况

df -hT|grep lv1

/dev/mapper/vg--0224-lv1 xfs 40G 33M 40G 1% /data

删除lvm

# 1./etc/fstab,清除开机自动挂载的配置

# 2.取消挂载

umount /data

umount /opt

# 3.删除lv

lvremove /dev/vg-0224/lv1

Do you really want to remove active logical volume vg-0224/lv1? [y/n]: y

lvremove /dev/vg-0224/lv2

Do you really want to remove active logical volume vg-0224/lv2? [y/n]: y

Logical volume "lv2" successfully removed

# 4. 删除vg

vgremove vg-0224

Volume group "vg-0224" successfully removed

# 5. 删除pv,还原磁盘原本类型

pvremove /dev/sdb /dev/sdc /dev/sdd

Labels on physical volume "/dev/sdb" successfully wiped.

Labels on physical volume "/dev/sdc" successfully wiped.

Labels on physical volume "/dev/sdd" successfully wiped.

# 6. 最后,磁盘就还原为了不可动态调整的磁盘了,可以格式化后,重新挂载使用该设备

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值