某云的主机【具体哪个云不说了,免得说我黑人家】,系统是centos-6.5 64位的, 生产数据库从库,100G空间,现在空间不足了
本来打算买个200G的云盘挂上去的,服务器所在的区没有云盘,不能挂其他区的云盘(不支持)
某云的售后技术支持在后台给服务器加了空间,还是在原来是磁盘/dev/vdb加的 ,直接在这个盘加了200G空间,现在要把这200G的空间用上
开始以为是给我们加个新的硬盘的,没想到是这样加,加到同一个磁盘,现在好了,找到的博客都是写通过另一个磁盘给现有的lvm扩容的,我就呵呵了~~这是生产的服务器啊,万一把现有的东西全干掉,那收拾东西滚蛋都解决不了~~~几年前在虚拟机做过lvm在线扩容(那时还在学校呢)。。。。
硬着头皮上啊,不然呢?!服务器就剩5G空间了,昨晚凌晨12点到现在用了5G
这个盘原来分了一个区/dev/vdb1 , 并且做了lvm
下面是操作前磁盘和卷组的信息:
[root@VM_132_242_centos bin]# ls /dev/vd*
/dev/vda /dev/vda1 /dev/vdb /dev/vdb1
[root@VM_132_242_centos bin]# fdisk -l
Device Boot Start End Blocks Id System
/dev/vda1 * 1 1045 8387584 83 Linux
Device Boot Start End Blocks Id System
/dev/vdb1 1 208050 104857168+ 8e Linux LVM
【vda1 是系统盘】
【vdb1 是数据盘】
【省略了fdisk 输出的很多其他信息】
查看原来的vg和lvm信息:
[root@VM_132_242_centos bin]# vgdisplay
--- Volume group ---
VG Name vol01
。。。。。
[root@VM_132_242_centos bin]# lvdisplay
--- Logical volume ---
LV Path /dev/vol01/lv01
。。。
--- Logical volume ---
LV Path /dev/vol01/lv02
【这里也省略了vg和lvm的很多信息】
======================================下面开始磁盘扩容===========================
开始看到很多博客都是写的用不同的分区来扩容,自己这次是先在原来的数据盘追加了空间,有点不知如何下手,
主要是因为生产环境的数据库,怕误操作把数据全部干掉!!其实也就是那几条命令,所以,别紧张!!!
扩容主要步骤:
1) fdisk分区,mkfs 格式化磁盘
2) pvcreate 创建物理卷
3) vgextend 扩容卷组
4) lvextend扩容逻辑卷
5) resize2fs使扩容生效
一,新追加的200G空间是要重新分区才可以用的,磁盘分区:
fdisk /dev/sdb
输入 p 命令查看原来就有的分区信息
Device Boot Start End Blocks Id System
/dev/vdb1 1 208050 104857168+ 8e Linux LVM
【只有一个分区】
输入n 命令新建一个分区
Command action
e extended
p primary partition (1-4)
输入p ,新建一个主分区(e是扩展分区,具体区别自己查)
输入2 (因为前面有一个主分区/dev/vdb1了,这里只能输入2或者3、4)
然后两个回车,默认把剩余的全部空间都分到了新的分区/dev/vdb2
最后 p命令打印分区信息看下,确认没问题 , w命令保存【不输入w保存,刚才的操作无效】
[root@VM_132_242_centos bin]# ls /dev/vd*
/dev/vda /dev/vda1 /dev/vdb /dev/vdb1
还是没有vdb2 ??? 要重启服务器 !!!
reboot命令重启服务器,再次用上面的 ls 就可以看到/dev/vdb2 了
然后格式化磁盘:
mkfs.ext4 /dev/vdb2
二,磁盘创建卷组
pvcreate /dev/vdb2
三,把卷组添加到原来的卷组【上面vgdisplay 出来那个VG Name】
vgextend vol01 /dev/vdb2
四,把卷组的空间添加到 lvm去
lvextend -L +203G /dev/vol01/lv01
lvdisplay 好开心,添加错了!!!添加到系统盘去了, 呵呵~~
【上面lvdisplay出来有两个逻辑卷,第二个才是数据盘!!】
删减lvm空间空间:
lvreduce -L -200G /dev/vol01/lv01
【上面把空间错加到系统分区去了,这里也是拿系统分区来删减,如果你用了lv02,那就呵呵了】
把添加错误的卷组移除:
vgreduce vol01 /dev/vdb2
添加到新的逻辑卷【注意不是卷组】
lvextend lv02 /dev/vdb2
失败,因为上面移除了已经把/dev/vdb2从vol01组中移除了
重新把vdb2分区添加到vol01卷组:
vgextend vol01 /dev/vdb2
逻辑卷扩容
lvextend -L +200G /dev/vol01/lv02
五,使扩容生效:
resize2fs -p /dev/vol01/lv02
【为什么五跑到这里了?!因为中间的是犯错多出来的步骤,正常是不需要的】
[root@VM_132_242_centos bin]# lvdisplay
--- Logical volume ---
LV Path /dev/vol01/lv01
LV Name lv01
VG Name vol01
LV UUID mK8c38-7rFE-kyyk-chm6-0yW1-1jrE-Uodc9I
LV Write Access read/write
LV Creation host, time VM_132_242_centos, 2015-07-03 15:26:28 +0800
LV Status available
# open 1
LV Size 9.00 GiB
Current LE 2304
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Path /dev/vol01/lv02
LV Name lv02
VG Name vol01
LV UUID 34FnTT-2ZcT-vRxf-5ZoF-9NQX-M180-K6gmme
LV Write Access read/write
LV Creation host, time VM_132_242_centos, 2015-07-03 15:26:34 +0800
LV Status available
# open 1
LV Size 290.00 GiB
Current LE 74240
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
这回没错了,呵呵。
其实中途用了很多次vgdisplay , lvdisplay 命令来查看的,如果不不确定的,每做一步都可以看一下。
service mysqld start
启动mysql 服务, show slave status ,全部都是YES的状态,我还要以为要手动开启slave 呢
记录一下,以后忘了可以看看。
本文出自 “BYWIND” 博客,请务必保留此出处http://bywind.blog.51cto.com/7598847/1792255
原文地址:http://bywind.blog.51cto.com/7598847/1792255