linuxvg命令 linux vi命令大全

【计算机基础】Linux 存储 PV、VG 和 LV 及其使用 LVM ( Logical Volume Manager ) 架构采用分层结构linuxvg命令,可以让分区变得弹性linuxvg命令,可以随时随地linuxvg命令的扩大和缩小分区大小 。
磁盘分区后使用pvcreate命令可以将分区创建为物理卷 PV 。
将多个 PV 组合起来,使用vgcreate命令创建成卷组 VG 。
VG 相当于整合过的硬盘,LV 则相当于分区,使用lvcreate创建 lV 。
如何创建 PV、VG、LV 及挂载目录 linuxvg命令?
Linux常用命令之--逻辑卷 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值 。如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区
逻辑卷管理器LVM(Logicl Volume Manager),通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整,而且可以将零碎的空间进行整合
? 物理卷(PV-Physical Volume)
物理卷在逻辑卷管理中处于最底层 , 它可以是实际物理硬盘上的分区,也可以是整个物理硬盘
? 卷组(VG-Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷 , 在卷组建立之后可动态添加物理卷到卷组中 。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组
? 逻辑卷(LV-Logical Volume)
逻辑卷建立在卷组之上,卷中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间 。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组
逻辑卷管理器和是主分区还是逻辑分区没有关系
vgdisplay 里的PE Size是指逻辑卷的最小单位 。假设PE Size是4M;比如我向里写东西 。我一个文件可能只占用1B的容量,但是我先占上4M,其他的也是 , 不足4M我也先占上4M 。等到每个块都用了,但是每个块都有剩余位置的时候,会把每个区的剩余位置都拼凑一下,以供使用 。但是只要还有没被占用的块 , 都不会使用用过的块 。逻辑卷大小为这个PE Size的整数倍
处在它所在的文件夹的时候是无法卸载的
我现在想创建两个卷组,vg1和vg2 。sdc1和sdc2给vg1,sdc3和sdc4给vg2
修改卷组属性,用来设置卷组是否处于活动状态,活跃状态的时候卷组无法被删除 , 非活动状态的卷组才能被删除掉 。VG Status:resizable是表示可被调整大小的状态 。lvremove时有可能因为逻辑卷里东西过多导致删除逻辑卷的时候假删除,即逻辑卷没了,但是里面东西还在,这时卷组觉得它里面还有东西 , 就会处于活跃状态,这时需要↓
接下来resize1要用来做块(逻辑卷)的放大,resize2要用来做块的缩小 。设备放大时不论是挂载状态下或非挂载状态下都可以做放大,即在线放大 。但是缩小的话设备要是非挂载的状态,即离线缩小
df -lh
发现size大小变小了 。之前给的resize1是800M,resize2是784M,这里的大小表示文件系统(filesystem)大?。凑飧錾璞改艽娑嗌俣鳎?nbsp;, 剩下的容量mkfs , 挂载的时候都会损耗一定的容量大小 。文件系统大小不会随着块的变大或缩小而改变,需要手动才能改变文件系统大小 。
? 放大要先放大块的大?。?再放大文件系统的大小
lvresize -L200M /dev/vg3/resize1放大逻辑卷
如果不带,会出现warning,时是在原有基础之上加200M,不加 的话就是将现有逻辑卷的大小调整成200M 。如果比之前设置的逻辑卷小的话就证明是要将其缩小,会造成数据丢失
resize2fs /dev/vg3/resize1 调整文件系统大小 , 但是不会管你到底是放大还是缩?。?就是将文件系统调整到它可以变大的最大程度
df -lh看设备容量变大了
? 缩小的时候要先将文件系统缩小,再缩小逻辑卷的大小
umount /mnt/rs2/
resize2fs /dev/vg3/resize2 700M
出现提示 [请先输入e2fsck -f /dev/vg3/resize2 命令],将处于多个块当中的内容整理到一起,以便进行缩小 。但是也不能百分百保证数据不丢失
e2fsck -f /dev/vg3/resize2
resize2fs /dev/vg3/resize2 700M
lvresize -L 700M /dev/vg3/resize2
mount /dev/vg3/resize2 /mnt/rs2/重新挂载回来
df -lh看系统里设备和文件系统挂载的使用情况
发现size变小了,缩小成功
linux下用什么命令才能查看vg的成员分区?pvdisplay命令 。
这条命令可以看到你创建了哪些pv , 以及这些pv属于哪些vg 。这时你就可以看到你创建的vg的名字,vg名字一样的当然就是该vg的成员了 。本人通过命令得到的信息如下:
[root@localhost etc]# pvdisplay
--- Physical volume ---
PV Name/dev/sdb6
VG Namevg1
PV Size486.31 MB / not usable 6.31 MB
Allocatableyes
PE Size (KByte)16384
Total PE30
Free PE30
Allocated PE0
PV UUIDOwU2OE-TUIR-F79o-8pel-tIYZ-kH2s-0LNBtI
--- Physical volume ---
PV Name/dev/sdb7
VG Namevg1
PV Size486.31 MB / not usable 6.31 MB
Allocatableyes
PE Size (KByte)16384
Total PE30
Free PE30
Allocated PE0
PV UUIDJt7639-mnwu-hjEP-NAT6-4qpD-SF0k-mYE2aj
, 这时你就能看出/dev/sdb6和/dev/sdb7同是vg1的成员 。
Linux里面pv和vg区别是什么?来自顶级大咖的解答:
逻辑卷管理(Logic Volume Manager),简称LVM , 是动态磁盘分区管理技术,目前已经很少使用了,如果是学习 , 大可不必浪费时间掌握了 。
1.PV(Physical Volume),物理卷 , 即物理磁盘分区 。
2.VG(Volume Group),卷组,是所有物理卷PV组成的集合 。
3.LV(Logic Volume),逻辑卷,是从卷组VG中划分出来的存放数据的磁盘空间 。
linux查看卷组的命令vgdisplay得出的结果各行是什么意思?。刻乇鹗恰癡G Access”行VG Access”行是指他的访问权限:读和写 。给你个参考得资料吧,你一看就懂了,其实很简单得 。
LVM一种支持在线增大和减小的分区技术
一、PV物理卷
由分区架构而成,为卷组提供空间 。
二、VG卷组
由一个或多个物理卷组成,为LV提供空间 。
三、LV逻辑卷
从卷组中获取空间,形成一个新的可用的LVM分区 。
四、制作逻辑卷 。
1、创建PV(在创建PV之前需要创建一个可用的分区,并且ID为8e)
[root@station19 media]# fdisk /dev/hda 对第一块IDE硬盘进行操作 。这取决于你的环境 。
The number of cylinders for this disk is set to 14593.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n 新建一个分区
First cylinder (5421-14593, default 5421):
Using default value 5421
Last cylinder orsize orsizeM orsizeK (5421-14593, default 14593):500M 给他500M的空间 。
Command (m for help): p 查看一下当前硬盘分区的情况 。
Disk /dev/hda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStartEndBlocksIdSystem
/dev/hda1*11310439183Linux
/dev/hda21438373071628083Linux
/dev/hda3383851121024143783Linux
/dev/hda4511314593761561325Extended
/dev/hda551135243105222682Linux swap / Solaris
/dev/hda6524453085220818eLinux LVM
/dev/hda75309537049798383Linux
/dev/hda8537154204015938eLinux LVM
/dev/hda95421548249798383Linux
(这是新建的那快分区)
Command (m for help): t 修改分区的表示符
Partition number (1-9): 9 选择对第9个分区进行操作
Hex code (type L to list codes): 8e 将标识符改为8e(只有将标识符改为8e才能支持LVM)
Changed system type of partition 9 to 8e (Linux LVM)
Command (m for help): p 再次查看一下
Disk /dev/hda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStartEndBlocksIdSystem
/dev/hda1*11310439183Linux
/dev/hda21438373071628083Linux
/dev/hda3383851121024143783Linux
/dev/hda4511314593761561325Extended
/dev/hda551135243105222682Linux swap / Solaris
/dev/hda6524453085220818eLinux LVM
/dev/hda75309537049798383Linux
/dev/hda8537154204015938eLinux LVM
/dev/hda9542154824979838eLinux LVM
(当前第9快分区的类型变成了8e,LVM)
Command (m for help): w 保存退出
[root@station19 media]# partprobe 重新加载分区,不加载或重启的话当前系统无法识别这个新的分区)
[root@station19 media]# pvcreate /dev/hda9(将hda9这个分区制作成物理卷)
Physical volume "/dev/hda9" successfully created
[root@station19 media]# pvdisplay查看PV的内容
--- Physical volume ---
PV Name/dev/hda9
VG Name
PV Size486.31 MB / not usable 2.31 MB
Allocatableyes
PE Size (KByte)4096
Total PE121
Free PE121
Allocated PE0
PV UUID0pE20O-EWqI-JtTY-gmeX-VJck-GUb0-Mxvx5v
(从这些信息可以看出,/dev/hda9这个物理卷不属于任何VG,它的磁盘空间为486M)
2、创建VG
[root@station19 media]# vgcreate vg /dev/hda9
Volume group "vg" successfully created
将hda9这个物理卷加入到vg这个组里(vg为自己定义的名字)
[root@station19 media]# vgdisplay
--- Volume group ---
VG Namevg
System ID
Formatlvm2
Metadata Areas1
Metadata Sequence No1
VG Accessread/write
VG Statusresizable
MAX LV0
Cur LV0
Open LV0
Max PV0
Cur PV1
Act PV1
VG Size484.00 MB
PE Size4.00 MB
Total PE121
Alloc PE / Size0 / 0
FreePE / Size121 / 484.00 MB
VG UUID6yOerB-EExr-sY0E-KFwO-fg0D-9Zol-RypiT5
现在查看一下,vg这个卷组就拥有了484M的空间也就是/dev/hda9这个逻辑卷的空间
3、创建LV
[root@station19 media]# lvcreate -L 300M -n lv vg
Logical volume "lv" created
创建一个LV,并给他指定拥有300M的空间,vg为指定它属于哪个卷组,也就是由哪个卷组为它提供这300M的空间 。
[root@station19 media]# lvdisplay
--- Logical volume ---
LV Name/dev/vg/lv
VG Namevg
LV UUIDHIc32H-DR98-Ymd1-Flhy-1Z2u-iU1Q-e2znLB
LV Write Accessread/write
LV Statusavailable
# open0
LV Size300.00 MB
Current LE75
Segments1
Allocationinherit
Read ahead sectorsauto
- currently set to256
Block device253:1
现在查看一下LV信息,现在这个lv属于vg这个卷组并拥有300M的空间
5、格式化文件系统
[root@station19 media]# mkfs.ext3 /dev/vg/lv 将lv这个逻辑卷格式化为ext3文件系统
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
76912 inodes, 307200 blocks
15360 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
38 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.Use tune2fs -c or -i to override.
6、挂载
[root@station19 media]# mount /dev/vg/lv /lv 将/dev/vg/lv这个分区挂在到/下的lv下
[root@station19 media]# df -H /lv/
文件系统容量已用可用 已用% 挂载点
/dev/mapper/vg-lv305M11M279M4% /lv
查看一下/lv这个分区的大?。?00M
到现在为止,我们已经成功的创建了一个逻辑卷 , 但别忘了 。逻辑卷最大的功能是增大和减?。旅嫖颐抢炊月呒斫性龃蠛图跣?。
7、增大逻辑卷
[root@station19 media]# lvextend -L 500M /dev/vg/lv
Extending logical volume lv to 500.00 MB
Insufficient free space: 50 extents needed, but only 46 available
[root@station19 media]# lvdisplay
--- Logical volume ---
LV Name/dev/vg/lv
VG Namevg
LV UUIDHIc32H-DR98-Ymd1-Flhy-1Z2u-iU1Q-e2znLB
LV Write Accessread/write
LV Statusavailable
# open1
LV Size300.00 MB
Current LE75
Segments1
Allocationinherit
Read ahead sectorsauto
- currently set to256
Block device253:1
这是一个失败的例子,因为lv所属的vg只有484M,所以当我将lv扩增到500M的时候会失败,因为vg无法为lv提供500M的空间 。查看一下,lv仍然只有300M 。
[root@station19 media]# lvextend -L 480M /dev/vg/lv
Extending logical volume lv to 480.00 MB
Logical volume lv successfully resized
[root@station19 media]# lvdisplay
--- Logical volume ---
LV Name/dev/vg/lv
VG Namevg
LV UUIDHIc32H-DR98-Ymd1-Flhy-1Z2u-iU1Q-e2znLB
LV Write Accessread/write
LV Statusavailable
# open1
LV Size480.00 MB
Current LE120
Segments1
Allocationinherit
Read ahead sectorsauto
- currently set to256
Block device253:1
现在我将lv扩增到480M,480M是vg所允许的空间大?。?查看一下现在成功了 。Lv被成功的扩增到了480M 。
8、增大文件系统
[root@station19 media]# df -H /lv/
文件系统容量已用可用 已用% 挂载点
/dev/mapper/vg-lv305M11M279M4% /lv
查看一下文件系统大小,lv这个文件系统仍是300M,因为我们之前扩展的只是它的分区大?。募笮〔⒚挥性龃螅晕颐侨匀恢荒苁褂?00M的空间
[root@station19 media]# resize2fs /dev/vg/lv 480M
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg/lv is mounted on /lv; on-line resizing required
Performing an on-line resize of /dev/vg/lv to 491520 (1k) blocks.
The filesystem on /dev/vg/lv is now 491520 blocks long.
[root@station19 media]# df -H /lv
文件系统容量已用可用 已用% 挂载点
/dev/mapper/vg-lv488M11M452M3% /lv
现在用resize这个工具将/dev/vg/lv这个文件系统扩展到488M,查看一下成功了 。
*注:文件系统是建立在分区之上的,分区为我们提供空间 , 而我们真正能直接使用的是文件系统,例如windows下我们使用的ntfs文件系统一样 。而在linux下使用的是ext3格式的文件系统 。所以文件系统只能比分区?。荒鼙确智?。
9、缩小文件系统和分区
(1)减小文件系统时需要现卸载,因为resize这个工具不支持在线减小 。
[root@station19 media]# umount /lv卸载
[root@station19 media]# e2fsck -f /dev/vg/lv
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg/lv: 11/121440 files (9.1% non-contiguous), 25872/491520 blocks
在减小文件系统之前需要先检查一下分区的完整性 。
[root@station19 media]# resize2fs /dev/vg/lv 100M 将文件系统减小到100M
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg/lv to 102400 (1k) blocks.
The filesystem on /dev/vg/lv is now 102400 blocks long.
(2)缩小分区
[root@station19 media]# lvreduce -L 100M /dev/vg/lv
WARNING: Reducing active logical volume to 100.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv? [y/n]: y
Reducing logical volume lv to 100.00 MB
Logical volume lv successfully resized
将分区缩小到100M
[root@station19 media]# mount /dev/vg/lv /lv/
[root@station19 media]# df -H /lv/
文件系统容量已用可用 已用% 挂载点
/dev/mapper/vg-lv102M11M88M11% /lv
[root@station19 media]# lvdisplay
--- Logical volume ---
LV Name/dev/vg/lv
VG Namevg
LV UUIDHIc32H-DR98-Ymd1-Flhy-1Z2u-iU1Q-e2znLB
LV Write Accessread/write
LV Statusavailable
# open1
LV Size100.00 MB
Current LE25
Segments1
Allocationinherit
Read ahead sectorsauto
- currently set to256
Block device253:1
挂载、查看,成功!文件系统和分区都为100M
10、增大与减小VG
这个很简单,VG是由多个物理卷构成的,只要将物理卷加入VG就可以实现增容,移出就能实现减小 。
[root@station19 media]# pvcreate /dev/hda10 将一块新的lvm格式的分区做成物理卷
Physical volume "/dev/hda10" successfully created
[root@station19 media]# vgextend vg /dev/hda10 将hda10这个分区加入到vg这个组
Volume group "vg" successfully extended
[root@station19 media]# vgdisplay
--- Volume group ---
VG Namevg
System ID
Formatlvm2
Metadata Areas2
Metadata Sequence No5
VG Accessread/write
VG Statusresizable
MAX LV0
Cur LV1
Open LV1
Max PV0
Cur PV2
Act PV2
VG Size968.00 MB
PE Size4.00 MB
Total PE242
Alloc PE / Size25 / 100.00 MB
FreePE / Size217 / 868.00 MB
VG UUID6yOerB-EExr-sY0E-KFwO-fg0D-9Zol-RypiT5
现在查看一下,VG这个卷组拥有了将近1G的空间 。
减小、
root@station19 media]# vgreduce vg /dev/hda10
Removed "/dev/hda10" from volume group "vg"
[root@station19 media]# vgdisplay
--- Volume group ---
VG Namevg
System ID
Formatlvm2
Metadata Areas1
Metadata Sequence No6
VG Accessread/write
VG Statusresizable
MAX LV0
Cur LV1
Open LV1
Max PV0
Cur PV1
Act PV1
VG Size484.00 MB
PE Size4.00 MB
Total PE121
Alloc PE / Size25 / 100.00 MB
FreePE / Size96 / 384.00 MB
VG UUID6yOerB-EExr-sY0E-KFwO-fg0D-9Zol-RypiT5
将hda10这个物理卷从VG中移出 , 再查看,VG又被减小了 。
Linux文件系统-LVM逻辑卷 LVM(Logical Volume Manager)卷组管理器,通过对底层物理磁盘的封装,可以将多块物理磁盘组合成逻辑资源池,提供给上层应用使用(如文件系统). LVM的好处是,可以跨物理硬盘为文件系统提供容量,并且可以动态进行分区容量的调整,而不会损坏原有的文件系统.
物理磁盘 :物理存储介质,可以是整块物理存储或一个分区.
物理卷PV(physical volume) :LVM要使用物理磁盘,在物理磁盘的头部写入lvm标签头,就创建了一个PV,PV是组成VG的基本单元.
卷组VG(Volume Group) :VG相当于非LVM系统中的物理硬盘,一个卷组VG由一个或多个PV组成,形成一个存储资源池.
逻辑卷LV(logical volume) :LV相当于非LVM系统中的硬盘分区,LV建立在卷组VG之上,文件系统建立在LV之上.
物理块PE(physical Extent) :创建LV时可以分配的最小存储单元,大小可以指定,默认为4MB
如上是从物理磁盘到lvm逻辑卷的创建过程及映射关系 , lv01、lv02被创建后,通过device-mapper映射为逻辑块设备(块设备路径/dev/vg01/lv01、/dev/vg01/lv02),供文件系统使用,通过mkfs.ext4/dev/vg01/lv02可创建ext4文件系统.
元数据主要是两部分 , PV headermetadata,位置一般是在PV的0~2048 sector中 , 从2048 sector开始是数据区域.
通过pvcreate创建pv时,会将pv header写入物理磁盘,位置一般是在磁盘的第二个sector(512B/sector),lvm扫描磁盘时,通过pv header来识别PV.
pv header主要信息包括 , pv uuid、元数据位置和metadata位置.
pv header实例:
metadata记录的是vg和lv的配置信息,以ASCII码的方式写入metadata区域;vg和lv的每次配置变更,都会以追加的方式写入metadata区域,并打上时间戳,该区域写满后,新的变更记录会覆盖最早的一次记录. 进行vgscan时,猜测应该是通过读取最新一次的配置记录,进行激活.
vg配置信息,主要是包含的pv信息.
lv配置信息,主要是lv的起始位置和PE大小.
实例:
pvcreate /dev/vdb1
pvcreate /dev/vdb2
pvcreate /dev/vdb3
vgcreate /dev/vdb1 /dev/vdb2 /dev/vdb3
vgcreate wan /dev/vdb1 /dev/vdb2 /dev/vdb3
lvcreate -L 300M -n lv01 wan
将PV的前2048个sector通过dd拷贝出来,用cat查看如下.
假设我们有一块磁盘 /dev/sdb1 作为应用数据盘使用 , 以此为例创建lvm分区
先创建物理卷PV,命令:pvcreate/dev/sdb1
创建卷组VG,卷组命名为kylin,命令:vgcreatekylin/dev/sdb1
在VG中创建逻辑分区LV,命令:lvcreate -L 30G -n test kylin
创建逻辑分区后,进行格式化,然后便可以挂载使用.
mkfs.ext4/dev/kylin/test
mount/dev/kylin/test/data
假设我们在上述基础上 , 又获得一块磁盘/dev/sdc1进行扩容,将磁盘容量增加到LV分区/dev/kylin/test中,具体操作如下.
先创建物理卷PV,命令:pvcreate/dev/sdc1
将/dev/sdc1添加进VG kylin,命令:vgextend kylin /dev/sdc1
增加LV分区容量,命令:lvextend -L30G /dev/kylin/test
lvm卷组配置备份
lvm的配置信息默认在/etc/lvm/backup、/etc/lvm/archive/两个目录存在备份 , 当lvm元数据损坏,lvm卷组读取异常时,可通过备份文件进行恢复.
/etc/lvm/backup:保留了当前配置的备份
/etc/lvm/archive/:保留了每次配置更新前的备份
实例演示
逻辑卷/dev/wan/lv01
在/dev/wan/lv01上创建文件系统
挂载并创建文件
覆盖/dev/vdb1、/dev/vdb2的lvm元数据 , 并重启系统,vg已不能识别
通过pvcreate命令修复pv header 和metadata数据.
激活逻辑卷
挂载/dev/wan/lv01成功,说明成功修复
【linuxvg命令 linux vi命令大全】关于linuxvg命令和linux vi命令大全的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读