设为首页 收藏本站
查看: 768|回复: 0

[经验分享] linux LVM 实战运用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-10-17 10:06:20 | 显示全部楼层 |阅读模式
  LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。

一、将扩展的硬盘分区
新加一块SCSI硬盘,需要将其分成三个区:
代码:

#fdisk  /dev/sdb
进入fdisk模式:
  Command (m for help):p //查看新硬盘的分区
  Command (m for help):n //创建新分区

   可以用m命令来看fdisk命令的内部命令;n命令创建一个新分区;d命令删除一个存在的分区;p命令显示分区列表;t命令修改分区的类型ID号;l命令显示分区ID号的列表;a命令指定启动分区;w命令是将对分区表的修改存盘让它发生作用。
Command action
e extended //输入e为创建扩展分区
p primary partition (1-4) //输入p为创建主分区,这里我们选择p

Partion number(1-4):1 //第一个扩展分区,按你需求可以最多分4个主分区
  First Cylinder(1-1014,default 1): 1 //第一个主分区起始的磁盘块数
  Last cylindet or +siza or +sizeM or +sizeK: +1024MB //可以是以MB为单位的数字或者以磁盘块数,这里我们输入+1024MB表示分区大小为1G。


这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。

创建完后用w保存分区。
代码:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

#partprobe   //不用重启可使以上操作生效。

这样就分区完,我们还要进行格式化
代码:

#mkfs.ext3  /dev/sdb1 //如果有多个分区

二、创建逻辑卷的步骤:

  1)通过pvcreate命令将linux分区处理成物理卷(PV);
  2)通过vgcreate命令将创建好的物理卷处理成卷组(Vg);
  3)通过lvcreate命令将卷组分成若干个逻辑卷(Lv);

之后我们可以对逻辑卷进行格式化,挂载,删除等操作,我们可以动态的调整逻辑卷的大小,并且该操作不会影响我们在逻辑卷(Lv)上的数据。
注:后面会对各个命令进行详解,以便大家阅读

三、物理卷创建管理操作:
  1)pvcreate创建物理卷:( 把普通Linux分区变成物理卷)
   格式:pvcreate /dev/sdb{1,2,3...}
例如:
   # pvcreate /dev/sdb{1,2,3,5,6,7}
  Physical volume "/dev/sdb3" successfully created
  Physical volume "/dev/sdb5" successfully created
  Physical volume "/dev/sdb6" successfully created
  Physical volume "/dev/sdb7" successfully created
  2)pvscan查看物理卷信息:会显示所有物理卷的情况。
   格式:pvscan
例如:
   # pvscan
  PV /dev/sdb1                      lvm2 [964.81 MB]
  PV /dev/sdb2                      lvm2 [964.84 MB]
  PV /dev/sdb3                      lvm2 [964.84 MB]
  PV /dev/sdb5                      lvm2 [964.81 MB]
  PV /dev/sdb6                      lvm2 [964.81 MB]
  PV /dev/sdb7                      lvm2 [964.81 MB]
  Total: 6 [5.65 GB] / in use: 0 [0   ] / in no VG: 6 [5.65 GB]
  3)pvdisplay查看各个物理卷的详细参数:
  格式:pvdisplay [/dev/sdb{1,2,3...}]  不跟参数则显示所有的物理卷信息
例如:
# pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "964.81 MB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               964.81 MB
  Allocatable                  NO
  PE Size (KByte)                0
  Total PE                     0
  Free PE                      0
  Allocated PE                  0
  PV UUID               
  4)pvremove删除物理卷:当物理卷里的扩展快没有被使用时可以删除。
    格式:pvremove /dev/sdb5
四.卷组的创建管理:
1)vgcreate创建卷组:
  格式:vgcreate [-s  <8M|16M|...>] vg0 /dev/sdb{1,2,3...}
    -s:指定扩展块(PE)的大小,默认为4MB;(相当与磁盘上的簇,扩展逻辑卷的基本单位。后面的值可以是8M 16M 32M 64M .....最多65532个扩展块。
    vg0:新创建的卷组的名字。
    /dev/sdb{1,2,3...}:需要的物理卷可以写多个;
例如:
   # vgcreate vg0 /dev/sdb{1,2,3}
   Volume group "vg0" successfully created
2)vgdisplay查看各个卷组的详细参数:
   格式:vgdisplay  /dev/vg0
例如
  # vgdisplay /dev/vg0
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                    lvm2
  Metadata Areas               3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  Cur PV                3
  Act PV                3
  VG Size               2.82 GB
  PE Size               4.00 MB   //扩展快大小 默认4MB
  Total PE              723
  Alloc PE / Size              0 / 0
  Free  PE / Size             723 / 2.82 GB
3)vgscan查看卷组的信息:
    格式:vgsacn
例如
# vgscan
  Found volume group "vg1" using metadata type lvm2
  Found volume group "vg0" using metadata type lvm2
4)vgreduce缩小卷组:把物理卷重卷组中删除。
    格式:vgreduce vg0 /dev/sdb3
例如  
# vgreduce vg0 /dev/sdb3
   Removed "/dev/sdb3" from volume group "vg0"
4)vgextend扩展卷组:把某个物理卷添加到卷组中。
     格式:vgextend vg0 /dev/sdb2   将物理卷/dev/sdb2添加到vg0卷组      
例如  
# vgextend vg0 /dev/sdb3
  Volume group "vg0" successfully extended
5)vgremove删除卷组:
     格式:vgremove /dev/vg1
五、逻辑卷的创建及管理:
1)lvcreate创建逻辑卷命令:
    格式1:lvcreate -L 512M -n data vg0
      -L 512M:设置逻辑卷的大小为512M。
      -n data:设置逻辑卷的名字为data ;表示法:/dev/卷组名/data
      vg0 :设置是有那个卷组生成的逻辑卷。
例如
# lvcreate -L 1000M -n data vg0
    Logical volume "data" created
    //创建一个容量为1000MB的逻辑卷data

式2:lvcreate -l 32 -n data vg0
     -l 32:生成的逻辑卷使用32个扩展块,逻辑卷大小=32*PE(默认4M)则为128M
     -n data:逻辑卷的名字;
     vg0 :设置是有那个卷组生成的逻辑卷。
例如
# lvcreate -l 32 -n data128 vg0
    Logical volume "data128" created
    //创建一个32个扩展块,容量为32*4=128MB的逻辑卷data128

2)格式化逻辑卷:
mkfs.ext3 /dev/vg0/data  
3)lvsacn查看逻辑卷的信息:

例如
# lvscan
ACTIVE            '/dev/vg0/data' [1000.00 MB] inherit
4)lvdisplay查看逻辑卷的具体参数:
例如
# lvdisplay /dev/vg0/data
  --- Logical volume ---
  LV Name                /dev/vg0/data
  VG Name                vg0
  LV UUID                9Od1nq-cHmY-MlrL-vgXW-7Kam-pAfU-Qc8mal
  LV Write Access                read/write
  LV Status                    available
  # open                 0
  LV Size                1000.00 MB
  Current LE                   250
  Segments                     2
  Allocation                    inherit
  Read ahead sectors              auto
  - currently set to              256
  Block device                  253:0

5)增大逻辑卷大小:
  lvextend命令:增大逻辑卷大小
  格式:lvextend -L +100M /dev/vg0/data
例如
# lvextend -L +1000M /dev/vg0/data
  Extending logical volume data to 1.95 GB
  Logical volume data successfully resized

   resize2fs /dev/vg0/data  使上面增加的立即生效。
6)减少逻辑卷大小:
  lvreduce命令:减少逻辑卷大小
  格式:Lvreduce -L -100M /dev/vg0/data
   # lvreduce -L -1000M /dev/vg0/data
  WARNING: Reducing active logical volume to 1000.00 MB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data? [y/n]: y
  Reducing logical volume data to 1000.00 MB
  Logical volume data successfully resized

   resize2fs /dev/vg0/data  使上面增加的立即生效。

7)lvremove删除逻辑卷:
  格式:lvremove /dev/卷组名/逻辑卷名
例如   
# lvremove /dev/vg0/data128
Do you really want to remove active logical volume "data128"? [y/n]: y
  Logical volume "data128" successfully removed
   # lvscan
  ACTIVE            '/dev/vg0/data' [1000.00 MB] inherit

六、挂载
将新分的卷挂载在需要挂载的目录下:

格式:mount /dev/<vgname>/<lvname>  /要挂载的点

Mkdir –p  /tmp/123      //建挂载点  在/tmp/123 下挂载

# Mount  /dev/VolGroup0/data  /tmp/123

设置永久挂载:

# vi /etc/fstab

/dev/VolGroup0/data      /tmp/123     ext3       defaults  1  2七、总结:
创建逻辑卷的顺序:Linux分区---物理卷---卷组---逻辑卷
删除逻辑卷的顺序:逻辑卷---卷组----物理卷---Linux分区
/////////////////////////////////////////////////////////////////////////////////////////////////
命令详解:
vgcreate命令

vgcreate命令磁盘管理 vgcreate命令用于创建LVM卷组。
卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息。
语法 vgcreate(选项)(参数)
选项 -l:卷组上允许创建的最大逻辑卷数;
     -p:卷组中允许添加的最大物理卷数;
     -s:卷组上的物理卷的PE大小。
参数
卷组名:要创建的卷组名称;
物理卷列表:要加入到卷组中的物理卷列表。
实例
使用vgcreate命令创建卷组 "vg1000",并且将物理卷/dev/sdb1和/dev/sdb2添加到卷组中。在命令行中输入下面的命令:
[iyunv@localhost ~]# vgcreate vg1000 /dev/sdb1 /dev/sdb2
#创建卷组"vg1000" 输出信息如下:
Volume group "vg1000" successfully created


lvcreate命令

lvcreate命令用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件为"/dev/vg1000/lvol0"。
语法
lvcreate(选项)(参数)
选项
-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
-l:指定逻辑卷的大小(LE数)。
参数
逻辑卷:指定要创建的逻辑卷名称。
实例
使用lvcreate命令在卷组"vg1000"上创建一个200MB的逻辑卷。在命令行中输入下面的命令: [iyunv@localhost ~]# lvcreate -L 200M vg1000 #创建大小为200M的逻辑卷
输出信息如下:
Logical volume "lvol0" created 说明:创建成功后,新的逻辑卷"lvol0",将通过设备文件/dev/vg1000/lvol0进行访问。


pvcreate命令
pvcreate命令用于将物理硬盘分区初始化为物理卷,以便LVM使用。
语法
pvcreate(选项)(参数)
选项
-f:强制创建物理卷,不需要用户确认;
-u:指定设备的UUID;
-y:所有的问题都回答“yes”;
-Z:是否利用前4个扇区。
参数
物理卷:指定要创建的物理卷对应的设备文件名。
实例
查看磁盘信息: [iyunv@localhost ~]# fdisk -l
检查有无 PV 在系统上,然后将/dev/hda6到/dev/hda9建立成为PV格式
[iyunv@localhost ~]# pvscan
No matching physical volumes found #找不到任何的 PV 存在!
将6-9分区转成pv,注意大括号的用途:
[iyunv@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 的信息:
[iyunv@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 信息:
[iyunv@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 大小
Ttal PE 0 #共分割出几个
PE free PE 0 #沒被 LV 用掉的
PE Allocated PE 0 #尚可分配出去的 PE 数量
PV UUID Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN
....(底下省略)....
删除物理卷:
[iyunv@localhost ~]# pvremove /dev/sdb2 Labels on physical volume "/dev/sdb2" successfully wiped
修改物理卷属性:
[iyunv@localhost ~]# pvchange -x n /dev/sdb1 #禁止分配指定物理卷上的
PE Physical volume "/dev/sdb1" changed
1 physical volume changed / 0 physical volumes not changed





文章参考了很多大神的东西!为是很长时间记录到笔记本上的事了,所以忘记了参考的网站是多少了,如果大神看到后请告知,小弟定会贴出!谢谢!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-287335-1-1.html 上篇帖子: bootstrap栅格错位问题的解决方法 下篇帖子: 网卡出错:Device eth0 does seem to be present delaying initialization linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表