LVM下的硬连接问题
之前在使用pdumpfs备份时,发现并没有像之前使用时的那样,使用 hardlink 的方式存储没有变化的文件,之后又发现在 LVM 管理的卷中建立文件的hardlink时,有时会失败。
那么,也就是说,hardlink真的像原始文档中说的那样,只能在同一物理设备上使用,即使是LVM(device-mapper)这样逻辑上的设备也不行。
于是,在LVM使用硬连接时,不一定总是成功的。
lvm性能相关
发现当使用“快照”备份“lv”之后,在往服务器里写入文件时(大文件,内网快速写入),发现有kcopyd进程时常阻塞,系统负载达到2/3/4(在2、3、4之间徘徊,具体硬件应该会有所不同,仅供参考)之高,搜索kcopyd相关的信息了解到跟lvm中快照有关。
将系统中的卷快照删除之后,就不再有kcopyd阻塞的情况,并且系统负载也降了下来。
FreeBSD Linux: FreeBSD Linux LVM PowerEdge 860 Waiting for root filesystem
by 曹宇伟
写评论
常用页面
Dell PowerEdge 860 安装Debian GNU/Linux 4.0 (i386) 时使用LVM遇到Waiting for root filesystem
Dell PowerEdge 860 安装Debian GNU/Linux 4.0 (i386) 时,我使用了LVM,结果在重启的过程中遇到了找不到卷组,Waiting for root filesystem的提示。不排除是我这台设备的问题。由于时间关系,我没有在其它同型号设备上做LVM安装。
我现在就在机房安装PE860,发现重启的时候偶尔会遇到LVM不工作,提示找不到vg0(卷组)。实际上是遇到了两次,第一次还以为是安装问题,第二次又出现,就有些担心了,于是不敢在这台设备上使用LVM。不得不再重装一次。
补充,貌似不是LVM的问题,在安装第二台的时候,没有使用LVM,但在重启之后,也出现了一次Waiting for root filesystem……
找到一篇全英的文章:
大致的解决办法是,假如真的完全进入不了系统(我还是比较幸运的,只是偶尔进不去系统),可以用急救盘启动,然后
chroot /mnt/debian /bin/bash
apt-get upgade
apt-get install udev
lvcreate -s
Create a snapshot logical volume (or snapshot) for an existing, so called original logical volume (or origin). Snapshots provide a ‘frozen image’ of the contents of the origin while the origin can still be updated. They enable consistent backups and online recovery of removed/overwritten data/files. The snapshot does not need the same amount of storage the origin has. In a typical scenario, 15-20% might be enough. In case the snapshot runs out of storage, use lvextend(8) to grow it. Shrinking a snapshot is supported by lvreduce(8) as well. Run lvdisplay(8) on the snapshot in order to check how much data is allocated to it.
LVM1使用备忘
删除vg时,提供vg被active不能删除。
使用lvmchange -R (reset lvm)
然后就可以删除了
扩展lv的大小(可以在线操作,即在lv被mount的状态下操作)
lvextend -l +10G /dev/vg0/dbslave
接着需要扩展文件系统的大小了,ext2/ext3文件系统使用e2fsprogs软件包里的工具resize2fs
需要在umont的状态下操作,操作之前需要先fsck文件系统
e2fsck /dev/vg0/dbslave
resize2fs /dev/vg0/dbslave
在线扩展lv的文件系统,需要使用LVM带的e2fsadm工具,不过这个工具需要使用/sbin/ext2online这个工具。
LVM2使用备忘
初始化配置文件
vgscan
建立物理卷
pvcreate /dev/sda2
pvcreate /dev/sda3
建立卷组
vgcreate vg0 /dev/sda2
扩展逻辑卷
vgextend vg0 /dev/sda3
建立逻辑卷
lvcreate -L 60G -n lv_name vg0
删除逻辑卷
lvremove /dev/vg0/lv_name
扩充和减小逻辑卷的容量
#e2fsadm -L +100M /dev/vg0/vg1
-L 表示增减空间 +表示加 -表示建
#e2fsadm -L -100M /dev/vg0/vg1
这里要注意文件系统必需是ext2或ext3,而且需要卸载文件系统来执行,减小的时候需要知道剪掉空间的大小,不然会造成丢失
