前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LVM-HOWTO/学习笔记(一)

LVM-HOWTO/学习笔记(一)

作者头像
力哥聊运维与云计算
发布2019-06-28 11:37:58
3700
发布2019-06-28 11:37:58
举报
文章被收录于专栏:力哥聊运维与云计算

以下内容来自http://tldp.org/HOWTO/LVM-HOWTO/

1. 创建pv

在整个硬盘上创建pv(不推荐,在部分系统上有兼容问题)

# pvcreate /dev/hdb

使用以下命令删除硬盘分区表

代码语言:javascript
复制
# dd if=/dev/zero of=/dev/diskname bs=1k count=1  删除硬盘
代码语言:javascript
复制
# blockdev --rereadpt /dev/diskname               重新读取硬盘分区表
代码语言:javascript
复制
在分区上创建pv

# pvcreate /dev/hdb1

代码语言:javascript
复制

2. vg相关操作

1)创建vg

代码语言:javascript
复制
# vgcreate my_volume_group /dev/hda1 /dev/hdb1 

如果重启或者运行了vgchange –an,需要重新激活下vg

代码语言:javascript
复制
# vgchange -a y my_volume_group

2)移除vg

代码语言:javascript
复制
先停用vg 
代码语言:javascript
复制
# vgchange -a n my_volume_group
代码语言:javascript
复制
然后移除
代码语言:javascript
复制
# vgremove my_volume_group
代码语言:javascript
复制
3)扩展vg

# vgextend my_volume_group /dev/hdc1

代码语言:javascript
复制
4)从vg中移除一个物理分区
代码语言:javascript
复制
   先要确认没有lv使用这个物理分区# pvdisplay /dev/hda1
代码语言:javascript
复制
代码语言:javascript
复制
--- Physical volume ---
代码语言:javascript
复制
PV Name               /dev/hda1
代码语言:javascript
复制
VG Name               myvg
代码语言:javascript
复制
PV Size               1.95 GB / NOT usable 4 MB [LVM: 122 KB]
代码语言:javascript
复制
PV#                   1
代码语言:javascript
复制
PV Status             available
代码语言:javascript
复制
Allocatable           yes (but full)
代码语言:javascript
复制
Cur LV                1
代码语言:javascript
复制
PE Size (KByte)       4096
代码语言:javascript
复制
Total PE              499
代码语言:javascript
复制
Free PE               0
代码语言:javascript
复制
Allocated PE          499
代码语言:javascript
复制
PV UUID               Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7
代码语言:javascript
复制
代码语言:javascript
复制
如果这个pv使用了,需要先使用pvmove命令转移数据到其他分区上
代码语言:javascript
复制
使用vgreduce命令移除物理分区
代码语言:javascript
复制
代码语言:javascript
复制
# vgreduce my_volume_group /dev/hda1

3. lv相关操作

代码语言:javascript
复制
1)   创建

在/dev/testvg上 创建一个1500M的lv 名字叫testlv

# lvcreate –L 1500 -ntestlv testvg

代码语言:javascript
复制
代码语言:javascript
复制
产生一个拥有100个LE,拥有2个条带,每个条带是4KB的lv

# lvcreate -i2 -I4 -l100 -nanothertestlv testvg

代码语言:javascript
复制
如果需要产生一个lv,使用整个VG,使用vgdiskplay命令,发现PE的总数,然后产生lv
代码语言:javascript
复制
代码语言:javascript
复制
# vgdisplay testvg | grep "Total PE"
代码语言:javascript
复制
Total PE              10230
代码语言:javascript
复制
# lvcreate -l 10230 testvg -n mylv

如果要产生一个lv,指定在一个pv上,可以使用如下命令

# lvcreate -L 1500 -ntestlv testvg /dev/sdg

代码语言:javascript
复制
2)   移除
代码语言:javascript
复制
移除之前必须先关闭
代码语言:javascript
复制
# umount /dev/myvg/homevol
代码语言:javascript
复制
# lvremove /dev/myvg/homevol
代码语言:javascript
复制
lvremove -- do you really want to remove "/dev/myvg/homevol"? [y/n]: y
代码语言:javascript
复制
lvremove -- doing automatic backup of volume group "myvg"
代码语言:javascript
复制
lvremove -- logical volume "/dev/myvg/homevol" successfully removed
代码语言:javascript
复制
代码语言:javascript
复制
3)   扩展
代码语言:javascript
复制
扩展到12G
代码语言:javascript
复制
# lvextend -L12G /dev/myvg/homevol
代码语言:javascript
复制
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
代码语言:javascript
复制
lvextend -- doing automatic backup of volume group "myvg"
代码语言:javascript
复制
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
代码语言:javascript
复制
加1G
代码语言:javascript
复制
# lvextend -L+1G /dev/myvg/homevol
代码语言:javascript
复制
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
代码语言:javascript
复制
lvextend -- doing automatic backup of volume group "myvg"
代码语言:javascript
复制
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
代码语言:javascript
复制
默认的,扩展LV之后,需要扩展文件系统
代码语言:javascript
复制
除非安装了ext2的在线扩展补丁,否则需要先卸载挂载
代码语言:javascript
复制
# umount /dev/myvg/homevol/dev/myvg/homevol
代码语言:javascript
复制
   # resize2fs /dev/myvg/homevol
代码语言:javascript
复制
   # mount /dev/myvg/homevol /home

reiserfs 文件系统可以在线或者离线扩展

  • Online:

# resize_reiserfs -f /dev/myvg/homevol

# umount /dev/myvg/homevol    # resize_reiserfs /dev/myvg/homevol    # mount -treiserfs /dev/myvg/homevol /home

代码语言:javascript
复制
代码语言:javascript
复制
4)   缩减
代码语言:javascript
复制
先要缩减文件系统,然后缩减lv
代码语言:javascript
复制
Ext2
代码语言:javascript
复制
代码语言:javascript
复制
# umount /home
代码语言:javascript
复制
# resize2fs /dev/myvg/homevol 524288
代码语言:javascript
复制
# lvreduce -L-1G /dev/myvg/homevol
代码语言:javascript
复制
# mount /home
代码语言:javascript
复制
Reiserfs
代码语言:javascript
复制
# umount /home
代码语言:javascript
复制
# resize_reiserfs -s-1G /dev/myvg/homevol
代码语言:javascript
复制
# lvreduce -L-1G /dev/myvg/homevol
代码语言:javascript
复制
# mount -treiserfs /dev/myvg/homevol /home
代码语言:javascript
复制
代码语言:javascript
复制

4. 分区

Pv可以在许多类型的物理块设备上创建

# pvcreate /dev/sda1

# pvcreate /dev/sdf

# pvcreate /dev/hda8

# pvcreate /dev/hda6

# pvcreate /dev/md1

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011/08/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档