Linux卷管理宕机修复之旅
公司最近招了一个DBA而且绝对称的上是一朵百年难遇的奇葩,以下就将其简称为奇葩吧!总监对他招的奇葩甚是看重和仰望所以指定奇葩实施数据库三期扩容方案。
下面就分享一下苦逼运维(我)和公司的那朵奇葩之间的苦逼事吧~大家不要见笑啊!555~
www.zhishiwu.com
奇葩刚来公司第二天给我要生产系统账号,被我断然拒绝,我说可以先给你测试环境下的数据库服务器,你先研究一下熟悉了以后再上生产。靠,奇葩转身找总监去投诉我,总监让我给他一个账号让他上去接触一下真实环境。Kao果然有背景,我忍住自己的愤怒告诉总监,奇葩上去后如果系统出现故障谁承担责任,况且目前测试环境和生产环境是一致的。我建议先在测试上熟悉环境后再上生产。
最终给奇葩了一个测试环境,奇葩想连接上数据库去看看但是不知道用什么客户端连接(555奇葩不是在耍我吧~我也只好把mysql客户端发给他了一个)。奇葩连上后问我服务器上数据库的配置文件放在哪里(555~第二次无语)。
下面说正题:
奇葩三期数据库扩容据说使用了google的mmm技术。噩梦开始了,他问我要服务器资源,我问他要服务器配置参数清单?,奇葩答曰:无;问他对系统有什么要求?答曰:无;问他要对系统分区的要求?答曰:无。那好吧,我只好按照自己的考虑把公司刚刚采购的一批服务器中性能较好点的三台dell R720服务器直接分配给他了(第三次无语)。
www.zhishiwu.com
一开始奇葩直接将数据库装在了根目录下,我告诉他你可以把数据存储的路径放在一个逻辑卷里面不要和系统程序放在一块以免日后维护困难。而且这个逻辑卷我已经给你建好了名字为/data目前容量是100G后续可以按照你的要求进行伸缩。奇葩真实语出惊人说“你这边能给我建一个指定名字的卷吗?你这个卷的名字容易产生歧义。我说好吧~你想好名字发邮件给我~过了一会他给我发过来QQ说就叫database吧(第四次无语,cao就多了base一个单词,玩我)!
对了还有奇葩安装完数据库后告诉我数据库无法远程,我登上去看了一下原来他安装数据库后没有授权远程访问,哎那个汗啊(第五次无语)!
真正的噩梦开始了!以下为本次调整逻辑卷时遇到问题并解决问题的详细步骤(555):
1、卸载逻辑卷
umount /data
2、显示要删除逻辑卷的详细路径
lvdisplay
3、删除逻辑卷
lvremove /dev/VolGroup00/LogVol07
4、创建挂载点
/database
4、确认卷组的空闲空间
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 1.09T 594.94G
5、创建逻辑卷
lvcreate -L 100G -n fzhlv VolGroup00
6、格式化逻辑卷
mkfs.ext3 /dev/VolGroup00/fzhlv (使用绝对路径该路径使用lvdisplay)
7、挂载逻辑卷
[root@localhost ~]# mount /dev/VolGroup00/fzhlv /database/
OK没问题啦!挂载上了可以使用啦~
重启服务器系统时系统无法启动提示以下错误信息:
An error occurred during the filesystem check
Propping you to shell the system will reboot
when you leave the shell
Give root password for mantennance
报错原因是由于我删除了挂载点/data的逻辑卷而导致启动在启动挂载该卷时失败导致系统无法启动(555,解决这个问题花了我两个多小时的时间啊,坑爹啊)。
进入救援模式 www.zhishiwu.com
修改fstab
vi /mnt/sysimage/etc/fstab
/dev/VolGroup00/LogVol06 / ext3 defaults 1 1
/dev/VolGroup00/LogVol07 /data ext3 defaults 1 2
/dev/VolGroup00/LogVol02 /tmp ext3 defaults 1 2
/dev/VolGroup00/LogVol05 /opt ext3 defaults 1 2
/dev/VolGroup00/LogVol04 /var ext3 defaults 1 2
/dev/VolGroup00/LogVol03 /usr ext3 defaults 1 2
/dev/VolGroup00/LogVol00 /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
将删除掉的逻辑卷或已经不存在的分区注释掉保存退出后重启服务问题解决。
视野拓展
1、扩展一个逻辑卷到指定大小
# lvextend -L12G /dev/VolGroup00/fzhlv
#此时使用df -lh却未看到你的文件系统增大是因为还未调整文件系统所以增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。笔者推荐使用reiserfs文件系统来替代ext2或者ext3。因此这里仅仅讨论reiserfs的情况。Reiserfs文件工具提供了文件系统大小调整工具:resize_reiserfs。对于希望调整被加载的文件系统大小:
# resize_reiserfs –f /dev/VolGroup00/fzhlv
一般建议最好将文件系统卸载,调整大小,然后再加载。