记一次LVM修复过程

进行以下操作前好好搜搜资料,我提供的资料只是供参考理解。数据很重要!!!

 

写在前面:创建lv的时候,建议在pv上留一些空间。

关键属于:pv 物理卷,vg 卷组, lv逻辑卷。

也就是说:lvm把一堆硬盘组成一个硬盘组,然后再上面再进一步分逻辑卷。好处是扩展方便。坏处就是我遇到的坏处。

 

问题:扩展lv的时候执行了lvextend -l +100%FREE /dev/VolGroup00/lvData,也就是说把剩余空间全用了。但是关机重启,磁盘容量丢了几兆。导致lv大于pv了。然后dmsg报错

device-mapper: table: 253:2: sdc1 too small for target: start=2048, len=10584064, dev_size=10474317

 

lvdisplay状态变为suspended

--- Logical volume ---
LV Path /dev/vgdata/lvdata1
LV Name lvdata1
VG Name vgdata
LV UUID VV7z79-6d1K-cwQL-4ope-okCh-zehp-BTz9dz
LV Write Access read/write
LV Creation host, time localhost, 2017-10-20 23:51:17 +0800
LV Status suspended
# open 0
LV Size 5.05 GiB
Current LE 1292
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

解决办法:

 

参考这个里面恢复

http://blog.sina.com.cn/s/blog_5f2e119b0102vxxo.html,不过如果物理空间真的不足了,就只能像下面那样修改lv的大小,让pv的大小大于lv的大小。但是会丢失lv缩小的空间的数据。如果说缩小的空间正好就是lv上还没用的空间,那数据不会丢。否则的话数据就丢了。

慎重慎重!关键数据最好先备份出来。

修改/etc/lvm/backup/xxx

 

physical_volumes {

pv0 {
id = "NLI0CN-hDpT-ibnA-lBBb-wiIw-pw5J-r9xROX"
device = "/dev/sdb1" # Hint only

status = ["ALLOCATABLE"]
flags = []
dev_size = 2341987767 # 1.09057 Terabytes
pe_start = 2048
pe_count = 285886 # 1.09057 Terabytes
}

pv1 {
id = "MbGTeT-KDeK-GUkx-nwMI-AsRk-LvgP-RVfrPX"
device = "/dev/sda3" # Hint only

status = ["ALLOCATABLE"]
flags = []
dev_size = 1627551744 # 776.077 Gigabytes
pe_start = 2048
pe_count = 198675 # 776.074 Gigabytes
}
}

logical_volumes {

lvData {
id = "ib51Nb-UbL7-dnbZ-XQg2-MpPu-Anf7-PgQxjx"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_host = "localhost.localdomain"
creation_time = 1442582041 # 2015-09-18 21:14:01 +0800
segment_count = 2

segment1 {
start_extent = 0
extent_count = 285886 # 1.09057 Terabytes

type = "striped"
stripe_count = 1 # linear

stripes = [
"pv0", 0
]
}

 修改完后用pvcreate  --restorefile 恢复,具体命令参照上面的链接。

恢复完后,lv会变为avilible,然后设备可以找到,但是不能挂载。

lv上的文件系统还需要缩小。

resize2fs 缩小,在这之前需要e2fsck扫描一下。

转载于:https://www.cnblogs.com/xxo0/p/7705700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值