存档
修改VG名称后,ubuntu开机进入busybox处理过程
场景重现:
ubuntu12.10,光盘默认安装,根分区使用LVM分区,安装后使用devstack,安装openstack,安装需要使用名为 stack-volumes的VG,所以就把vg给重命名了,然后机器一直在用,直到异常断电,就没起来,启动就进入busybox。机器上有几十个instance等着用,各种着急。
处理中走过的弯路:
1、首先,是异常断电,怀疑是根分区数据丢失,用livecd进去,使用fsck进行扫描,没发现错误, 重启还是进入busybox,放弃。 2、进而,期间有一次系统更新,怀疑更新后的内核文件有问题,遂用之前备份的内核文件恢复, 重启后依然进入busybox,放弃。
最终处理方案:
1、开机进入grub后,按e进行编辑,手动修改根分区,Ctrl+x启动。 2、进入系统后修改 grub.conf,将根分分区的名字改为修改后的,就ok了。
大家可能说这是很简单个问题,你搞那么久,确实是个简单的问题,但是在处理的当时我完全对自己改了vg名字这个事情丝毫没有印象,当时比较着急,也忽略了一些信息,在重现的时候,才发现进入busybox之前是有提示的,当时被疏忽掉了,所以导致走了很多弯路。
所以大家遇到问题:
第一,不要慌,系统总是会给你蛛丝马迹的。 第二,不要急着下结论,作出让情况更糟糕的举动,比如我差点就发故障邮件,重装系统。
[虚拟化]缩小虚拟机镜像大小
假设虚拟机的镜像为:disk
1、检查并修复镜像的文件系统。
转换镜像为raw格式(如果镜像为其他格式的话):
losetup /dev/loop0 disk
kpartx -av /dev/loop0
#如果是windows,需要安装ntfs-3g
ntfsfix -b -d /dev/mapper/loop0p1
ntfsck /dev/mapper/loop0p1
#如果是linux
fsck -y /dev/mapper/loop0p1
kpartx -dv /dev/loop0
losetup -d /dev/loop0
2、调整分区大小:
guestfish -a disk
run
#windows
ntfsresize-size /dev/vda1 10G
#linux
resize2fs-size /dev/vda 10G
quit
3、调整镜像大小
qemu-img create -f raw new.img 12G(略大于几个分区之和)
#window:
virt-resize --shrink /dev/vda1 disk new.img
#linux ext4:
virt-resize --resize /dev/vda1=
搞完收工。
以上方法是经过验证的。有人说用virt-resize直接搞也可以,没测试,改天测试下。
增大的话比较简单,直接virt-resize –expand就ok了。
ubuntu server 12.10 openstack dashboard模板报错的解决
产生原因:
dashboard使用了less,less需要依赖“/horizon/bin/less/lessc”来处理,而lessc又依赖nodejs,ubuntu里默认安装nodejs的bin文件是nodejs,而lessc里声明的是“#!/usr/bin/env node” 当然找不到咯。
所以解决方案有2种:
1、ln –s 做软链接
2、修改lessc的第一行为 #!/usr/bin/env nodejs
希望能帮到你,我搞了半天才发现问题的。