需求:
服务器上挂载了一块2T的硬盘,但/home只有100G左右,Hadoop DataNode节点安装在/home内,需要存储处理大量数据。
学习:
什么是LVM?
主要步骤:
1)通过fdisk 工具将磁盘转换为linux分区
2)通过pvcreate命令将linux分区转换成物理卷(PV);
3)通过vgcreate命令将创建好的物理卷处理成卷组(VG);
4)通过lvcreate命令将卷组分成若干个逻辑卷(LV);
5)对逻辑卷进行格式化,挂载,动态调整逻辑卷的大小,并且该操作不会影响逻辑卷(Lv)上的数据。
以下详细列出可能用到的命令:
1. 使用fdisk -l 命令查看磁盘分区
sudo fdisk -l
Disk /dev/sda: 1999.3 GB, 1999307276288 bytes
255 heads, 63 sectors/track, 243068 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002e54e
Device Boot Start End Blocks Id System
/dev/sda1 1 1 1024 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 1 243069 1952445440 8e Linux LVM
可以看到分区sda共有近2个T的容量,sda1的type为Linux;sda2为Linux LVM类型。
如果是新挂载的空白磁盘,可以使用fdisk命令将磁盘转换为Linux LVM类型。然后执行2,3步骤。
2. 将linux物理分区转变为物理卷 (针对新的LVM类型分区)
$pvcreate /dev/sdb{1,2}
#将物理分区/dev/sdb{1,2}转变为物理卷
执行此命令成功后,会提示success!
执行pvdisplay可以查看物理卷的详细信息:
$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name vg00
PV Size 1.82 TiB / not usable 1.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 476671
Free PE 185166
Allocated PE 291505
PV UUID JsAGuo-Fi0u-nHUc-WBuq-Tqg7-cseM-CcB2tl
通过执行pvscan,可以查看物理卷总容量、已用、剩余的情况:
$ sudo pvscan
PV /dev/sda2 VG vg00 lvm2 [1.82 TiB / 723.30 GiB free]
Total: 1 [1.82 TiB] / in use: 1 [1.82 TiB] / in no VG: 0 [0 ]
共有1个物理卷vg00,1.82TB,723.30GB空闲可用,其余已经分配
删除物理卷使用pvremove命令,例如:
$pvremove /dev/sdb2
#删除物理卷,
Labels on physical volume "/dev/sdb2" successfully wiped
3. 使用vgcreate命令将PV创建成卷组VG,VG创建后,可以方便的从VG中为逻辑卷LV分配/回收空间
创建VG:
$vgcreate vg00 /dev/sda2
#将已经是物理卷的/dev/sda2转化为卷组名为vg00的卷组
若有多个物理卷创建一个VG,可以使用vgcreate vg00 /dev/sda{1,2}形式
执行vgscan可以查看当前存在的卷组:
$ sudo vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg00" using metadata type lvm2
使用vgdisplay可以查看当前卷组的详细情况;
mk@log1:~$ sudo vgdisplay
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 21
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 4
Open LV 4
Max PV 0
Cur PV 1
Act PV 1
VG Size 1.82 TiB
PE Size 4.00 MiB
Total PE 476671
Alloc PE / Size 291505 / 1.11 TiB
Free PE / Size 185166 / 723.30 GiB
VG UUID eOAdfu-WrNY-znxa-U0Zv-NdmY-ANW8-utbvCH
若为卷组增加一个物理卷,可以使用vgextend:
$pvcreate /dev/sda3
#先创建一个新的物理卷
Physical volume "/dev/sda3" successfully created
$vgextend vg00 /dev/sda3
#再将新增的物理卷添加到vg00卷组中
Volume group "vg01" successfully extended
删除卷组使用vgremove命令:
$vgremove /dev/vg00
****对于前面提到的需求,如果2,3两步已经完成,可直接执行第四步。
****注意:
先将/下的/home备份为/home_old,然后在/下创建/home路径,再执行下面的挂载!!
4. 创建逻辑卷lvcreate
创建逻辑卷共分为两个部分,lvcreate一个逻辑卷,并且格式化逻辑卷为制定的文件系统
1)创建逻辑卷大小为1000G卷名为home,从vg00生成
$lvcreate -L 1000G -n home vg00
#从卷组vg00上划分1000G的空间为逻辑卷home
2)对划分的逻辑卷进行格式化
$mkfs -t ext3 /dev/vg00/home
#以ext3的文件格式化逻辑卷
执行lvscan可以查看当前vg中的逻辑卷:
$ sudo lvscan
ACTIVE '/dev/vg00/boot' [92.00 MiB] inherit
ACTIVE '/dev/vg00/swap' [3.72 GiB] inherit
ACTIVE '/dev/vg00/root' [110.88 GiB] inherit
ACTIVE '/dev/vg00/home' [1.00 TiB] inherit
同理,lvdisplay可以查看具体信息。
使用lvextend/lvreduce可以增加或者减小逻辑卷的大小:
使用lvextend增大逻辑卷大小:
$lvextend -L +1G /dev/vg00/home
#从卷组vg00上对逻辑卷/dev/vg00/homne进行扩容1G
使用lvreduce减小逻辑卷大小,必须是离线方式(即先umount文件系统)
$lvreduce -L -1G /dev/vg00/home
#将逻辑卷/dev/vg00/home容量减小1GB
使用resize2fs命令更新系统识别的文件系统大小,立即生效
$resize2fs /dev/vg00/home
#使增加的逻辑卷大小立即生效
如果提示busy,可以先umount文件系统,resize之后再mount
删除逻辑卷使用lvremove /dev/vg00/home
5. 挂载逻辑卷
步骤4之后,使用$mount /dev/vg00/home /home 即可将逻辑卷挂在之前创建的/home下
使用df命令,可以查看当前系统空间分配,/home有1T的大小,已用11G,可用947G
mk@log1:~$ sudo df -lh
/dev/mapper/vg00-home
1008G 11G 947G 2% /home
......
Done!
原文地址:http://nourlcn.ownlinux.net/2011/10/lvm-resize-partion-size.html
本博客订阅地址:http://feeds.feedburner.com/nourlcn
分享到:
相关推荐
2) cd docker-lvm-plugin 3) export GO111MODULE=on 4) make 5) sudo make install 想尝试一下吗? (流浪汉) 从项目的$root目录。 $ vagrant up 一旦虚拟机启动并运行( vagrant global-status
离线安装包,亲测可用
LVM-1.exe
LVM2工具包合集,亲测可以安装使用,centos所需。服务器磁盘分区工具,可以新挂载硬盘,也可以在原来分区的基础上扩充或者缩减磁盘大小。
docker-lvm-plugin-1.13.1-47.2.gitf43d177.el7.x86_64.rpm
非LVM环境中根分区的调整
RockyLinux84-zsh-lvm-160g.ova,网盘文件,永久连接
Ubuntu2004-zsh-lvm-160g.ova,网盘文件,永久连接
扩充_删除_管理 LVM-Linux
Linux实现lvm扩容根分区.rtf
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
用于RedHat6、7通过图形化界面控制LVM分区管理,需要显示器和GNOME(GNU)图形化界面,为RedHat7光盘缺失LVM图形配置工具而准备
lvm扩容
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
centos7 /分区扩容图文详解
LVM(逻辑卷管理) 实例详解;
lvm虚拟机测试已通过linux根分区扩容,确实增加了根分区的容量
对于硬盘主要几种分区格式的简介,很详细的解读了他们之间的关系