blockdev

blockdev命令在命令调用“ioxtls”函数,以实现对设备的控制。

语法

blockdev(选项)(参数)

选项

-V:打印版本号并退出;
-q:安静模式;
-v:详细信息模式;
--setro:只读;
--setrw:只写;
--getro:打印只读状态,“1”表示只读,“0”表示非只读;
--getss:打印扇区大小。通常为521;
--flushbufs:刷新缓冲区;
--rereadpt:重新读取分区表。

参数

设备文件名:指定要操作的磁盘的设备文件名。

实例

设置设备为只读:

blockdev --setro /dev/hda4

读取设备是否为只读:

blockdev --getro /dev/hda4

设置设别为可读写:

blockdev --setrw /dev/hda4

vgconvert

vgconvert命令用于转换指定LVM卷组的元数据格式,通常将“LVM1”格式的卷组转换为“LVM2”格式。转换卷组元数据前必须保证卷组处于非活动状态,否则无法完成转换操作。

语法

vgconvert(选项)(参数)

选项

-M:要转换的卷组格式。

参数

卷组:指定要转换格式的卷组。

实例

转换卷组元数据格式前,使用vgchange命令将卷组设置为非活动状态。在命令行中输入下面的命令:

[root@localhost lvm]# vgchange -an vg1000    #设置卷组状态为非活动状态
0 logical volume(s) in volume group "vg1000" now active 

使用vgconvert命令将卷组"vg1000"从"LVM1"格式转换为"LVM2"格式。在命令行中输入下面的命令:

[root@localhost lvm]# vgconvert -M2 vg1000    #转换卷组为"LVM2"格式
Volume group vg1000 successfully converted

使用vgchange命令将卷组设置为活动状态。在命令行中输入下面的命令:

[root@localhost lvm]# vgchange -ay vg1000     #设置卷组状态为活动状态
0 logical volume(s) in volume group "vg1000" now active

pvcreate

pvcreate命令用于将物理硬盘分区初始化为物理卷,以便LVM使用。

语法

pvcreate(选项)(参数)

选项

-f:强制创建物理卷,不需要用户确认;
-u:指定设备的UUID;
-y:所有的问题都回答“yes”;
-Z:是否利用前4个扇区。

参数

物理卷:指定要创建的物理卷对应的设备文件名。

实例

查看磁盘信息:

[root@localhost ~]# fdisk -l
Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        5005    24740100    5  Extended
/dev/hda5            1926        2052     1020096   82  Linux swap / Solaris
/dev/hda6            2053        2235     1469916   8e  Linux LVM
/dev/hda7            2236        2418     1469916   8e  Linux LVM
/dev/hda8            2419        2601     1469916   8e  Linux LVM
/dev/hda9            2602        2784     1469916   8e  Linux LVM

检查有无 PV 在系统上,然后将/dev/hda6/dev/hda9建立成为PV格式

[root@localhost ~]# pvscan
No matching physical volumes found    #找不到任何的 PV 存在!

将6-9分区转成pv,注意大括号的用途:

[root@localhost ~]# pvcreate /dev/hda{6,7,8,9}
  Physical volume "/dev/hda6" successfully created
  Physical volume "/dev/hda7" successfully created
  Physical volume "/dev/hda8" successfully created
  Physical volume "/dev/hda9" successfully created

这就分別表示每个 PV 的信息与系统所有 PV 的信息:

[root@localhost ~]# pvscan
  PV /dev/hda6         lvm2 [1.40 GB]
  PV /dev/hda7         lvm2 [1.40 GB]
  PV /dev/hda8         lvm2 [1.40 GB]
  PV /dev/hda9         lvm2 [1.40 GB]
  Total: 4 [5.61 GB] / in use: 0 [0   ] / in no VG: 4 [5.61 GB]

更详细的列示出系统上面每个 PV 信息:

[root@localhost ~]# pvdisplay
  "/dev/hda6" is a new physical volume of "1.40 GB"
  --- NEW Physical volume ---
  PV Name               /dev/hda6  #实际的 partition 分区名称
  VG Name                          #因为尚未分配出去,所以空白!
  PV Size               1.40 GB    #就是容量说明
  Allocatable           NO         #是否已被分配,结果是 NO
  PE Size (KByte)       0          #在此 PV 內的 PE 大小
  Total PE              0          #共分割出几个 PE
  free PE               0          #沒被 LV 用掉的 PE
  Allocated PE          0          #尚可分配出去的 PE 数量
  PV UUID               Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN
....(底下省略)....

删除物理卷:

[root@localhost ~]# pvremove /dev/sdb2
Labels on physical volume "/dev/sdb2" successfully wiped

修改物理卷属性:

[root@localhost ~]# pvchange -x n /dev/sdb1    #禁止分配指定物理卷上的PE
Physical volume "/dev/sdb1" changed  
1 physical volume changed / 0 physical volumes not changed 

lvcreate

lvcreate命令用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件为"/dev/vg1000/lvol0"。

语法

lvcreate(选项)(参数)

选项

-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
-l:指定逻辑卷的大小(LE数)。

参数

逻辑卷:指定要创建的逻辑卷名称。

实例

使用lvcreate命令在卷组"vg1000"上创建一个200MB的逻辑卷。在命令行中输入下面的命令:

[root@localhost ~]# lvcreate -L 200M vg1000    #创建大小为200M的逻辑卷

输出信息如下:

Logical volume "lvol0" created

说明:创建成功后,新的逻辑卷"lvol0",将通过设备文件/dev/vg1000/lvol0进行访问。

lvscan

lvscan命令用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件。

语法

lvscan(选项)

选项

-b:显示逻辑卷的主设备和次设备号。

实例

使用lvscan命令扫描系统中的所有逻辑卷。在命令行中输入下面的命令:

[root@localhost ~]# lvscan     #扫描所有的逻辑卷

输出信息如下:

ACTIVE          '/dev/vg1000/lvol0' [200.00 MB] inherit

pvscan

pvscan命令会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的。

语法

pvscan(选项)

选项

-d:调试模式;
-e:仅显示属于输出卷组的物理卷;
-n:仅显示不属于任何卷组的物理卷;
-s:短格式输出;
-u:显示UUID。

实例

使用pvscan命令扫描当前系统中所有硬盘的物理卷,在命令行中输入下面的命令:

[root@localhost ~]# pvscan     #扫描所有硬盘上的物理卷 

输出信息如下:

PV /dev/sdb1         lvm2 [101.94 MB]  
PV /dev/sdb2         lvm2 [101.98 MB]  
Total: 2 [203.92 MB] / in use: 0 [0   ] / in no VG: 2 [203.92  
MB] 

说明:本例中,输出了两个物理卷,它们不属于任何卷组,是可被利用的物理卷。

lvdisplay

lvdisplay命令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。

语法

lvdisplay(参数)

参数

逻辑卷:指定要显示属性的逻辑卷对应的设备文件。

实例

使用lvdisplay命令显示指定逻辑卷的属性。在命令行中输入下面的命令:

[root@localhost ~]# lvdisplay /dev/vg1000/lvol0     #显示逻辑卷属性

输出信息如下:

  --- Logical volume ---  
  LV Name                /dev/vg1000/lvol0  
......省略部分输出内容......  
  Block device           253:0

pvdisplay

pvdisplay命令用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。

语法

pvdisplay(选项)(参数)

选项

-s:以短格式输出;
-m:显示PE到LE的映射。

参数

物理卷:要显示的物理卷对应的设备文件名。

实例

使用pvdisplay命令显示指定的物理卷的基本信息。在命令行中输入下面的命令:

[root@localhost ~]# pvdisplay /dev/sdb1    #显示物理卷基本信息

输出信息如下:

"/dev/sdb1" is a new physical volume of "101.94 MB"  
--- NEW Physical volume ---  
PV Name               /dev/sdb1  
....省略部分输出内容......  
PV UUID         FOXiS2-Ghaj-Z0Mf- cdVZ-pfpk- dP9p-ifIZXN

lvextend

lvextend命令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。

语法

lvextend(选项)(参数)

选项

-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
-l:指定逻辑卷的大小(LE数)。

参数

逻辑卷:指定要扩展空间的逻辑卷。

实例

使用lvextend命令为逻辑卷/dev/vg1000/lvol0增加100M空间。在命令行中输入下面的命令:

[root@localhost ~]# lvextend -L +100M /dev/vg1000/lvol0    #为了解决增加100M空间

输出信息如下:

Extending logical volume lvol0 to 300.00 MB  
Logical volume lvol0 successfully resized

pvremove

pvremove命令用于删除一个存在的物理卷。使用pvremove指令删除物理卷时,它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷。

语法

pvremove(选项)(参数)

选项

-d:调试模式;
-f:强制删除;
-y:对提问回答“yes”。

参数

物理卷:指定要删除的物理卷对应的设备文件名。

实例

使用pvremove指令删除物理卷/dev/sdb2。在命令行中输入下面的命令:

pvremove /dev/sdb2 #删除物理卷
Labels on physical volume "/dev/sdb2" successfully wiped