LVM。。。让我理解就是一个将好多分区磁盘帮到一起的玩意,类似于烙大饼。。。然后再切

新建了一个虚拟机,然后又挂了一个5G的硬盘,然后分出了5块空间,挂载到了虚拟机上。这些步骤很简单

fdisk   mkdir mount......不赘述了。。。鸟哥也不赘述我也就不赘述了。继续看重点

这是鸟哥的官方解释,看看,是不是跟我说的一样摊大饼,在切割?买过饼吃的人都应该懂的。。。。

LVM概念

好了。概念讲完了,鸟哥讲了动态分配的实现原理,继续截图

这几个东东的关系,你看明白了么?没看明白不要紧,我给你做大饼吃

首先,将磁盘都做成LVM可识别的格式。就是PV

然后,用VG将这些PV串成一张大饼

最后,就是切大饼 LV。那LV的最基础的组成部分是什么呢?就是PE。PE就是切块的最小单元。

看完我做的大饼,再看上面的图,是否会更理解一下。

也就是说,你要扩充只能扩充VG中未被LV切块的饼,是否能明白,稍微懂点分区的都明白应该。比如你现在空间不够了,需要干嘛,先PV,然后加入到VG,然后再切饼。

LVM硬盘写入,鸟哥说有两种模式

线性模式,写完一张再写另一张

交错模式,文件分成两部分,两张硬盘,交互写入。注:我没看明白为啥当初要设计这种模式的原因

[root@localhost ~]# pvcreate /dev/sdb{,,,,}
Device /dev/sdb1 excluded by a filter.
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
Physical volume "/dev/sdb4" successfully created.
Physical volume "/dev/sdb5" successfully created.
[root@localhost ~]# pvdisplay /dev/sdb3
WARNING: Device for PV rGAe2U-E01D-o80Z-GG2n-Q3Gt-JnxH-QpdECV not found or rejected by a filter.
"/dev/sdb3" is a new physical volume of "954.00 MiB"
--- NEW Physical volume ---
PV Name /dev/sdb3
VG Name
PV Size 954.00 MiB
Allocatable NO
PE Size
Total PE
Free PE
Allocated PE
PV UUID tiph15-4Jg5-4Yf0-Rdtn-Jj0o-Vmgj-LBpfhu

鸟哥的解释很透彻,截图如下

[root@localhost ~]# vgcreate -s 16M lsqvg /dev/sdb{1,2,3}
WARNING: Device for PV rGAe2U-E01D-o80Z-GG2n-Q3Gt-JnxH-QpdECV not found or rejected by a filter.
WARNING: Device for PV rGAe2U-E01D-o80Z-GG2n-Q3Gt-JnxH-QpdECV not found or rejected by a filter.
Volume group "lsqvg" successfully created
[root@localhost ~]# vgscan
Reading volume groups from cache.
Found volume group "lsqvg" using metadata type lvm2
Found volume group "centos" using metadata type lvm2
[root@localhost ~]# pvscan
WARNING: Device for PV rGAe2U-E01D-o80Z-GG2n-Q3Gt-JnxH-QpdECV not found or rejected by a filter.
PV /dev/sdb1 VG lsqvg lvm2 [944.00 MiB / 944.00 MiB free]
PV /dev/sdb2 VG lsqvg lvm2 [944.00 MiB / 944.00 MiB free]
PV /dev/sdb3 VG lsqvg lvm2 [944.00 MiB / 944.00 MiB free]
PV /dev/sda2 VG centos lvm2 [19.70 GiB / 8.00 MiB free]
PV /dev/sdb4 lvm2 [954.00 MiB]
Total: [23.40 GiB] / in use: [<22.47 GiB] / in no VG: [954.00 MiB]
[root@localhost ~]# vgdisplay lsqvg
--- Volume group ---
VG Name lsqvg
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size <2.77 GiB
PE Size 16.00 MiB
Total PE
Alloc PE / Size /
Free PE / Size / <2.77
GiB
VG UUID yLBdez-VeIK-2xjQ-bMeT-8IBH-ENt3-Mu9NwE [root@localhost ~]# vgextend lsqvg /dev/sdb4
WARNING: Device for PV rGAe2U-E01D-o80Z-GG2n-Q3Gt-JnxH-QpdECV not found or rejected by a filter.
Volume group "lsqvg" successfully extended
[root@localhost ~]# vgdisplay lsqvg
--- Volume group ---
VG Name lsqvg
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size <3.69 GiB
PE Size 16.00 MiB
Total PE
Alloc PE / Size /
Free PE / Size / <3.69
GiB
VG UUID yLBdez-VeIK-2xjQ-bMeT-8IBH-ENt3-Mu9NwE

通过上述加粗,可以看出,如何新增VG。另VG的名字我们是可以自定义的,然后我们定义了每个PE的大小。第一行红色的位置。基本上VG就这么些东东。也不难

PE有了。VG这张大饼也有了。剩下的就是需要对VG这张大饼切分了。通过我们上面的步骤可以看出,就是利用LV

让我们来跟着鸟哥实践一下

[root@localhost ~]# lvcreate -L 2G -n lsqlv lsqvg
WARNING: LVM2_member signature detected on /dev/lsqvg/lsqlv at offset . Wipe it? [y/n]: y
Wiping LVM2_member signature on /dev/lsqvg/lsqlv.
Logical volume "lsqlv" created.
[root@localhost ~]# lvscan
ACTIVE '/dev/lsqvg/lsqlv' [2.00 GiB] inherit
ACTIVE '/dev/centos/var' [1.86 GiB] inherit
ACTIVE '/dev/centos/swap' [192.00 MiB] inherit
ACTIVE '/dev/centos/root' [9.31 GiB] inherit
ACTIVE '/dev/centos/home' [8.33 GiB] inherit
[root@localhost ~]# lvdisplay /dev/lsqlv
Volume group "lsqlv" not found
Cannot process volume group lsqlv
[root@localhost ~]# lvdisplay /dev/lsqvg/lsqlv
--- Logical volume ---
LV Path /dev/lsqvg/lsqlv
LV Name lsqlv
VG Name lsqvg
LV UUID I36ZBB-abG3-YZVt-h61R-qAya-ohn0-5GmH2n
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV Status available
# open
LV Size 2.00 GiB
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :

我们跟着鸟哥,创建了一个2G大小的LV。名字就是我自己的名字喽。

然后查看一下。可以看到我们的LV的相关情况,还有其他的LV的情况,就是系统设置的LV的情况

然后单独查看我们自己的LV,可以看到他的大小,名称,等相关信息

OK。LV建立之后,就是格式化,挂载等等了。让我们跟着鸟哥继续往下走

[root@localhost ~]# mkdir /srv/lvm
[root@localhost ~]# mount /dev/lsqvg/lsqlv /srv/lvm
mount: /dev/mapper/lsqvg-lsqlv 写保护,将以只读方式挂载
mount: 未知的文件系统类型“(null)”
[root@localhost ~]# ^C
[root@localhost ~]# unmount /srv/lvm
bash: unmount: 未找到命令...
[root@localhost ~]# umount /srv/lvm
umount: /srv/lvm:未挂载
[root@localhost ~]# mkfs.xfs /dev/lsqvg/lsqlv
meta-data=/dev/lsqvg/lsqlv isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt=, sparse=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal log bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=

[root@localhost ~]# mount /dev/lsqvg/lsqlv /dev/lvm
mount: 挂载点 /dev/lvm 不存在
[root@localhost ~]# mount /dev/lsqvg/lsqlv /srv/lvm
[root@localhost ~]# df -Th /srv/lvm
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/lsqvg-lsqlv xfs .0G 33M .0G % /srv/lvm

首先创建一个挂载点   /srv/lvm

然后格式化一下,格式化命令mkfs.xfs /dev/lsqvg/lsqlv   然后进行了格式化。加粗的信息就是格式化后的相关信息。

然后利用mount进行挂载,挂载之后。df -Th查看一下相关的信息。可以看到相关情况,表明我们挂载成功。

[root@localhost ~]# vgdisplay lsqvg
--- Volume group ---
VG Name lsqvg
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size <3.69 GiB
PE Size 16.00 MiB
Total PE
Alloc PE / Size / 2.00 GiB
Free PE / Size / <1.69 GiB #这里可以看出,我们有足够的容量来新增LV的大小
VG UUID yLBdez-VeIK-2xjQ-bMeT-8IBH-ENt3-Mu9NwE
#新增一个500M的lv的大小
[root@localhost ~]# lvresize -L +500M /dev/lsqvg/lsqlv
Rounding size to boundary between physical extents: 512.00 MiB.
Size of logical volume lsqvg/lsqlv changed from 2.00 GiB ( extents) to 2.50 GiB ( extents).
Logical volume lsqvg/lsqlv successfully resized.
[root@localhost ~]# lvscan
ACTIVE '/dev/lsqvg/lsqlv' [2.50 GiB] inherit  #从这可以看出确实是增加到2.5G了
ACTIVE '/dev/centos/var' [1.86 GiB] inherit
ACTIVE '/dev/centos/swap' [192.00 MiB] inherit
ACTIVE '/dev/centos/root' [9.31 GiB] inherit
ACTIVE '/dev/centos/home' [8.33 GiB] inherit
[root@localhost ~]# df -Th /srv/lvm
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/lsqvg-lsqlv xfs .0G 87M .0G % /srv/lvm  #但是从挂载点来看,依然是2.0G。可以看出区别了
[root@localhost ~]# ls -l /srv/lvm
总用量
drwxr-xr-x. root root 8月 : etc
drwxr-xr-x. root root 8月 : log
[root@localhost ~]# xfs_info /srv/lvm
meta-data=/dev/mapper/lsqvg-lsqlv isize= agcount=, agsize= blks #agcount=4
= sectsz= attr=, projid32bit=
= crc= finobt= spinodes=
data = bsize= blocks=, imaxpct=25 #blocks=524288
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
[root@localhost ~]# xfs_growfs /srv/lvm #将原来的500m加入lv中
meta-data=/dev/mapper/lsqvg-lsqlv isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt= spinodes=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
data blocks changed from to
[root@localhost ~]# xfs_info /srv/lvm
meta-data=/dev/mapper/lsqvg-lsqlv isize= agcount=, agsize= blks #变化后变成了5
= sectsz= attr=, projid32bit=
= crc= finobt= spinodes=
data = bsize= blocks=, imaxpct=25 #bolcks也变了
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
[root@localhost ~]# df -Th /srv/lvm
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/lsqvg-lsqlv xfs .5G 87M .5G % /srv/lvm #大小变成了2.5G
[root@localhost ~]# ls -l /srv/lvm                      #文件还在
总用量
drwxr-xr-x. root root 8月 : etc
drwxr-xr-x. root root 8月 : log

注:XFS文件系统中,文件系统只能放大,不能缩小。只有EXT4系统能够放大和缩小

LVM动态分配

说白了。就是先建立一个容量池,然后实发实用,从容量池中调用容量。直到容量池耗尽为止

[root@localhost ~]# lvcreate -L 1G -T lsqvg/lsqpool
Thin pool volume with chunk size 64.00 KiB can address at most 15.81 TiB of data.
Logical volume "lsqpool" created.
[root@localhost ~]# lvdisplay /dev/lsqvg/lsqpool
--- Logical volume ---
LV Name lsqpool
VG Name lsqvg
LV UUID QbEb2i-Eumf-cVfK-yol4-1Qlm-vlDO-leMa6e
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV Pool metadata lsqpool_tmeta
LV Pool data lsqpool_tdata
LV Status available
# open
LV Size 1.00 GiB
Allocated pool data 0.00%
Allocated metadata 10.23%
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device : [root@localhost ~]# lvs lsqvg
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lsqlv lsqvg -wi-ao---- .50g
lsqpool lsqvg twi-a-tz-- .00g 0.00 10.23
[root@localhost ~]# lvcreate -V 10G -T lsqvg/lsqpool -n lsqthin1
WARNING: Sum of all thin volume sizes (10.00 GiB) exceeds the size of thin pool lsqvg/lsqpool and the size of whole volume group (<3.69 GiB).
WARNING: You have not turned on protection against thin pools running out of space.
WARNING: Set activation/thin_pool_autoextend_threshold below to trigger automatic extension of thin pools before they get full.
Logical volume "lsqthin1" created.
[root@localhost ~]# lvs lsqvg
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lsqlv lsqvg -wi-ao---- .50g
lsqpool lsqvg twi-aotz-- .00g 0.00 10.25
lsqthin1 lsqvg Vwi-a-tz-- .00g lsqpool 0.00
[root@localhost ~]# mkfs.xfs /dev/lsqvg/lsqthin1
meta-data=/dev/lsqvg/lsqthin1 isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt=, sparse=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal log bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
[root@localhost ~]# mkdir /srv/thin
[root@localhost ~]# moutn /dev/lsqvg/lsqthin1 /srv/thin
bash: moutn: 未找到命令...
相似命令是: 'mount'
[root@localhost ~]# mount /dev/lsqvg/lsqthin1 /srv/thin
[root@localhost ~]# df -Th /srv/thin
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/lsqvg-lsqthin1 xfs 10G 33M 10G % /srv/thin
[root@localhost ~]# dd if=/dev/zero of=/srv/thin/test.img bs=1M count=
记录了500+ 的读入
记录了500+ 的写出
524288000字节( MB)已复制,0.843028 秒, MB/秒
[root@localhost ~]# lvs lsqvg
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lsqlv lsqvg -wi-ao---- .50g
lsqpool lsqvg twi-aotz-- .00g 49.92 11.82
lsqthin1 lsqvg Vwi-aotz-- .00g lsqpool 4.99

是不是没看明白?我反正一开始也没看明白,我又从头看了鸟哥的介绍

lsqthin1是一个虚拟的10G的大小。但是是否能够可以用到10G的大小,是有lsqpool来决定的。从我们操作来看,lsqpool只有1G的容量,所以这就直接决定了lsqthin1只能够用1G的容量,超过1G就会导致数据损毁,但是你虚拟的时候,lsqthin1是可以随便写的,你可以写100G,但是只能用1G来操作

LVM的快照功能

看完上面的东东不知你是否理解了。其实很简单,就是说,再LV中的块中,他只会保存更改过的块,没有更改的块还是会放到共享区域中,然后,你可以随时还原,就是从快照中找到备份的快照,然后替换就OK了。确实是个很牛的设计。

[root@localhost ~]# vgdisplay lsqvg
--- Volume group ---
VG Name lsqvg
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size <3.69 GiB
PE Size 16.00 MiB
Total PE
Alloc PE / Size / 3.53 GiB
Free PE / Size / 160.00 MiB #这个地方是一个点,看到了么,free pe。也就是说我们要给快照分配大小的话,只能用剩余的PE大小,而不能超过,否则的话会出错。所以,要建立快照,首先要看一下这个LV还剩下多大的空间,根据这个来建立
VG UUID yLBdez-VeIK-2xjQ-bMeT-8IBH-ENt3-Mu9NwE [root@localhost ~]# lvcreate -s -l -n lsqnap1 /dev/lsqvg/lsqlv # 要对哪一个LV创建快照,这里我们针对lsqlv创建了一个名为lsqnap1的快照
WARNING: Sum of all thin volume sizes (10.00 GiB) exceeds the size of thin pools and the size of whole volume group (<3.69 GiB).
WARNING: You have not turned on protection against thin pools running out of space.
WARNING: Set activation/thin_pool_autoextend_threshold below to trigger automatic extension of thin pools before they get full.
Logical volume "lsqnap1" created.
[root@localhost ~]# lvdisplay /dev/lsqvg/lsqlv # 这里我们lvdisplay,我这里display错了,应该display快照,我这里display成了lv,而我们的目的是要查看快照的信息
--- Logical volume ---
LV Path /dev/lsqvg/lsqlv
LV Name lsqlv
VG Name lsqvg
LV UUID I36ZBB-abG3-YZVt-h61R-qAya-ohn0-5GmH2n
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV snapshot status source of
lsqnap1 [active]
LV Status available
# open
LV Size 2.50 GiB
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :
[root@localhost ~]# lvdisplay /dev/lsqvg/lsqnap1                        #这里我们dispaly快照的信息
--- Logical volume ---
LV Path /dev/lsqvg/lsqnap1
LV Name lsqnap1
VG Name lsqvg
LV UUID Nr0dNA-cPS1-NSww-i3BJ-Jx9l-mKz6-4znKzd
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV snapshot status active destination for lsqlv
LV Status available
# open
LV Size 2.50 GiB            #原始LV的大小
Current LE
COW-table size 160.00 MiB #快照的大小
COW-table LE 10              
Allocated to snapshot 0.01%             #目前已经用掉的容量
Snapshot chunk size 4.00 KiB
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :

OK。我们现在就已经建立了快照,现在我们对快照挂载一下,然后对比一下LV。按照鸟哥的介绍,因为LV没有任何改动,所以,快照应该和LV是一模一样的,我们来看一下

[root@localhost ~]# mkdir /srv/snapshot1
[root@localhost ~]# mount -o /dev/lsqvg/lsqnap1 /srv/snapshot1 #在这里,我按照既有思维去挂载,结果提示错误,然后看书,后面需要加一个 nouuid
mount: 在 /etc/fstab 中找不到 /srv/snapshot1
[root@localhost ~]# cd /srv
[root@localhost srv]# ls
lvm snapshot1 thin
[root@localhost srv]# mount -o /dev/lsqvg/lsqnap1 /srv/snapshot1
mount: 在 /etc/fstab 中找不到 /srv/snapshot1
[root@localhost srv]# mount -o nouuid /dev/lsqvg/lsqnap1 /srv/snapshot1 #就是在这里,nouuid,鸟哥也介绍了,因为XFS不允许相同的UUID文件系统进行挂载,因此需要加上nouuid这个参数来忽略uuid,因为快照和LV都是同样的UUID
[root@localhost srv]# df -Th /srv/lvm /srv/snap0shot1
df: "/srv/snap0shot1": 没有那个文件或目录
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/lsqvg-lsqlv xfs .5G 87M .5G % /srv/lvm
[root@localhost srv]# df -Th /srv/lvm /srv/snapshot1 #我们df一下,发现结论是一样的,lv和snap1是一样的。好吧,鸟哥没有下文了,我这里再测试一下,如果我改动了lv,会是什么后果
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/lsqvg-lsqlv xfs .5G 87M .5G % /srv/lvm
/dev/mapper/lsqvg-lsqnap1 xfs .5G 87M .5G % /srv/snapshot1

在这里,我将ect里边的netconfig加了一段注释。然后我们来看一下结果。

[root@localhost etc]# lvdisplay /dev/lsqvg/lsqnap1
--- Logical volume ---
LV Path /dev/lsqvg/lsqnap1
LV Name lsqnap1
VG Name lsqvg
LV UUID Nr0dNA-cPS1-NSww-i3BJ-Jx9l-mKz6-4znKzd
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV snapshot status active destination for lsqlv
LV Status available
# open
LV Size 2.50 GiB
Current LE
COW-table size 160.00 MiB
COW-table LE
Allocated to snapshot 1.32% #看到了么,已经被用掉了1.32%、原来是我们刚才贴的代码是0.01%。怎么,看不大出来,我们再来改一下,这次见一个文件夹试试
Snapshot chunk size 4.00 KiB
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :
[root@localhost lvm]# lvdisplay /dev/lsqvg/lsqnap1
--- Logical volume ---
LV Path /dev/lsqvg/lsqnap1
LV Name lsqnap1
VG Name lsqvg
LV UUID Nr0dNA-cPS1-NSww-i3BJ-Jx9l-mKz6-4znKzd
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV snapshot status active destination for lsqlv
LV Status available
# open
LV Size 2.50 GiB
Current LE
COW-table size 160.00 MiB
COW-table LE
Allocated to snapshot 1.48% #看到了么?已经变成1.48了。这里要注意一些,就是你刚做完变动,是不会变的,需要他处理完之后才会变动,所以,我觉得应该不能突然断电,否则会有问题。我虚拟机等了大约10几秒吧
Snapshot chunk size 4.00 KiB
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :

OK.这一章节结束了。。。下面的操作题,我们来操作一下

题目

建立raid5  并在raid5上创建lv

首先是fdisk创建4个分区,我弄了一个20G 的硬盘,放在里面,然后建了4个分区。这个简单,fdisk 那一堆,不说了

然后就是建立raid5的程式

[root@localhost ~]# mdadm --create /dev/md0 --auto=yes --level= --raid-devices= /dev/sdb{,,}
[root@localhost ~]# mdadm --detail /dev/md0 | grep -i uuid #查出这个UUID。
这里有个问题,我这里能查出UUID,但是去寻找/etc/mdadm.conf的时候,发现没有这个文件,然后find了一下,也没有这个文件。很悲催,然后刦网上找了找,也没找出个大概。。。。但好像不影响使用
然后就是家里pv,vg,lv
[root@localhost ~]# pvcreate /dev/md0
[root@localhost ~]# vgcreate raidvg /dev/md0
[root@localhost ~]# lvcreate -L 1.5G -n raidlv raidvg 在这里我出了个笑话,就是还没有建立lv的时候,就Lvscan。。。有意思

[root@localhost ~]# lvscan
ACTIVE '/dev/raidvg/raidlv' [1.50 GiB] inherit                  这个就是我们建立的LV
ACTIVE '/dev/centos/var' [1.86 GiB] inherit
ACTIVE '/dev/centos/swap' [192.00 MiB] inherit
ACTIVE '/dev/centos/root' [9.31 GiB] inherit
ACTIVE '/dev/centos/home' [8.33 GiB] inherit

然后就是格式化,修改fstab启动文件,首先需要查找lv的UUID,然后修改fstab,然后建立挂载文件夹,然后mount -a ,然后df查看结果就OK了。

[root@localhost ~]# mkfs.xfs /dev/raidvg/raidlv

[root@localhost ~]# blkid /dev/raidvg/raidlv
/dev/raidvg/raidlv: UUID="4008bfa1-6b21-458e-ad12-49b77b6739f7" TYPE="xfs"

[root@localhost ~]# vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Aug 19 10:59:08 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=ba80a371-e434-431e-9508-df4b2827efad /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-var /var xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID="4008bfa1-6b21-458e-ad12-49b77b6739f7" /srv/raidlvm xfs defaults 0 0    这个UUID就是我们前面通过blkid查找出来的uuid。这里一定要注意一下

[root@localhost ~]# mkdir /srv/raidlvm
[root@localhost ~]# mount -a

[root@localhost ~]# df -Th /srv/raidlvm
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/raidvg-raidlv xfs 1.5G 33M 1.5G 3% /srv/raidlvm

OK,搞定。。。。

我还是没有明白有没有那个conf与raid5有没有影响。。。。。。这个留着点,以后再查找一下

贴一个徐秉义老师的文章,鸟哥推荐的,有时间看一下,太长了,百度文库的

https://wenku.baidu.com/view/3ba28e21dd36a32d7375811b.html。这个章节结束!

继续我们的学习。这次鸟哥讲的是LVM。。。磁盘管理 最后链接文章没有看的更多相关文章

  1. 当时学习《鸟哥的Linux私房菜-基础学习篇》记录的点

    1.当执行一个指令的时候,举例来说[ls],系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同 ...

  2. (整理)ubuntu 的 相关知识(来自 鸟哥的私房菜)

    1. Linux 文件权限概念 $ ls 察看文件的指令 $ ls -al 出所有的文件详细的权限与属性 (包含隐藏档,就是文件名第一个字符为『 . 』的文件) 在你第一次以root身份登入Linux ...

  3. (转)鸟哥SHELL入门材料

    http://blog.chinaunix.net/space.php?uid=9809038&do=blog&cuid=62903 经典入门材料! 学习 Shell Scripts ...

  4. PHP 教父鸟哥 Yar 的原理分析

    模块越来越多,业务越来越复杂,RPC 就上场了,在 PHP 的世界里,鸟哥的作品一直备受广大网友的青睐.下面一起学习下鸟哥的 PRC 框架 Yar . 揭开 Yar 神秘面纱 RPC 采用客户端/服务 ...

  5. 《鸟哥Linux私房菜》 全套视频和PDF资料—— 老段带你学鸟哥Linux视频课程

    <鸟哥的Linux私房菜-基础篇-服务器篇(第三版)>学习Linux极为经典的入门资料,但是还是很多同学难以坚持系统的看完整本书,最终以放弃而告终. 为了帮助大家更容易入门Linux,老段 ...

  6. 鸟哥Linux私房菜基础学习篇学习笔记1

    鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...

  7. Linux随笔-鸟哥Linux基础篇学习总结(全)

    Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...

  8. 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)

    题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...

  9. 鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常引导的问题

    前言: 一直都想学习linux,毕竟是做测试的标配.听过鸟哥的linux私房菜大名,作为新手我淘来了第三版,到手看到书的厚度,心都凉了半截,本着不能浪费的原则,还是学吧! 过程:        开始看 ...

随机推荐

  1. 2-prometheus各组件安装

    相关下载: https://prometheus.io/download/https://github.com/prometheus/ 相关文档 https://songjiayang.gitbook ...

  2. 使用juqery-ui完成联想查询功能

    最近公司的项目有个需求,需要使用联想查询功能.就是一个文本输入框,在输入的时候获取值去后端模糊查询然后按照列表显示在下面.效果如下图: 经过搜索找到这个插件,查阅资料可以完成这个功能,即可以实现静态数 ...

  3. myeclipse2017使用总结

    1.之前的myeclipse 2010项目导入后,需要配置项目发布内容,否则class.lib.web.xml等文件不会自动发布到tomcat中:

  4. Gitblit用户没有push权限,但是已经在team里面配置了

    问题: 用户已经移动到team里面,team有对应repository的push权限. does not have push permissions for 解决方案: 发现这个用户以前单独配置了这个 ...

  5. (67) c# 序列化

    二进制序列化器 xml序列化器 数据契约序列化器

  6. Python Django 编写一个简易的后台管理工具3-运行项目

    编写view页面 def hello(request): return render(request,'hello.html') 编写html页面 <!DOCTYPE html> < ...

  7. Pipenv管理项目环境--Django项目的一些最佳实践

    virtualenv --- 使用不方便 提升效率,管理更便捷--- pipenv 新建环境:: pip3 install pipenv 在项目下,用pipenv安装 Djagno pipenv in ...

  8. day 97 VUE第一天

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. QTP使用dictionary 对象

    1. 创建即使用Dictionary对象 ' 创建Dictionary对象Set Dic = CreateObject("Scripting.Dictionary")' 添加Dic ...

  10. js的浏览器判断方法

    使用navigator.userAgent来判断浏览器类型. 1.浏览器版本号函数: var br=navigator.userAgent.toLowerCase();   var browserVe ...