Linux----LVM扩容磁盘空间
Linux系统LVM扩容一个分区相对于Windows来说没有那么直观,但是熟悉命令后,扩容起来也是蛮方便的。
扩容场景如下:
[root@rhel06 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 ext4 9.9G 2.2G 7.3G 23% /
tmpfs tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 ext4 194M 29M 155M 16% /boot
/dev/sr0 iso9660 3.6G 3.6G 0 100% /mnt
/dev/mapper/VG001-lv1 ext4 2.0G 67M 1.9G 4% /lv1
现有一个lvm分区lv1容量2G,希望扩容此分区空间
[root@rhel06 home]# cat /proc/partitions
major minor #blocks name 8 0 20971520 sda
8 1 204800 sda1
8 2 10485760 sda2
8 3 2097152 sda3
8 4 1 sda4
8 5 2103487 sda5
253 0 2097152 dm-0
查看partitions 获取当前分区情况和磁盘总空间情况。需要计算20971520-204800-10485760-2097152-2103487-1=6080320,约6G的未使用空间。(dm-0是一个lv分区)
当然使用这种手动方式获取未分区空间太过麻烦。可以用这个shell来完成大量的计算
[root@rhel06 home]# cat sda.sh
#!/bin/bash
total=$(grep 'sda$' /proc/partitions |awk '{print $3}');
used=0
for i in $(grep 'sda[[:digit:]]\+$' /proc/partitions |awk '{print $3}' |xargs)
do
used=$(( used + i ));
done
echo $((( total - used ) / 1024 )) "MB"
[root@rhel06 home]# ./sda.sh
5937 MB
接下来执行具体的分区步骤:
一、划分一个新分区并格式化
[root@rhel06 ~]# fdisk /dev/sda Command (m for help): p Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x00029f55 Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1332 10485760 83 Linux
/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris
/dev/sda4 1593 2610 8176089 5 Extended
/dev/sda5 1593 1854 2103487+ 8e Linux LVM Command (m for help): n #新建分区,由于我已新建了四个分区(主分区和逻辑分区),所以这里只能新建扩展分区,并没有出现分区类型选项
First cylinder (1855-2610, default 1855): #开始点,直接回车即可
Using default value 1855
Last cylinder, +cylinders or +size{K,M,G} (1855-2610, default 2610): +2G #+2G,划分一个2G的新分区 Command (m for help): p Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x00029f55 Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1332 10485760 83 Linux
/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris
/dev/sda4 1593 2610 8176089 5 Extended
/dev/sda5 1593 1854 2103487+ 8e Linux LVM
/dev/sda6 1855 2116 2104483+ 83 Linux Command (m for help): w #保存退出
[root@rhel06 ~]# partprobe #不要忘了刷新分区表,虚拟机还是需要重启才能刷新。
[root@rhel06 ~]# mkfs.ext4 /dev/sda6 #格式化
二、转换sda6分区为pv
[root@rhel06 ~]# pvcreate /dev/sda6 #转换sda6分区
dev_is_mpath: failed to get device for 8:6
Physical volume "/dev/sda6" successfully created
[root@rhel06 ~]# pvdisplay #查看系统所有pv,这里sda6已成功转换
--- Physical volume ---
PV Name /dev/sda5
VG Name VG001
PV Size 2.01 GiB / not usable 2.19 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 513
Free PE 1
Allocated PE 512
PV UUID dSHFLX-9Lui-0ZDb-6J2g-pp6A-azuX-vg5yGV "/dev/sda6" is a new physical volume of "2.01 GiB"
--- NEW Physical volume ---
PV Name /dev/sda6
VG Name
PV Size 2.01 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID TEGKht-876S-8MMd-vWkX-rjeI-4UqG-JqRsT2
三、添加新pv到vg
[root@rhel06 ~]# vgdisplay |grep Name #查看当前vg名称
VG Name VG001
[root@rhel06 ~]# vgextend VG001 /dev/sda6 #添加“sda6”pv到此vg
Volume group "VG001" successfully extended
[root@rhel06 ~]# vgdisplay #查看vg详情,可以看到vg已经扩容到4g
--- Volume group ---
VG Name VG001
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 4.01 GiB
PE Size 4.00 MiB
Total PE 1026
Alloc PE / Size 512 / 2.00 GiB
Free PE / Size 514 / 2.01 GiB
VG UUID qG18Fp-agAP-gaTp-0crS-Ughm-UilM-2ZftQt
四、调整lv1容量
[root@rhel06 ~]# lvextend -L 4G /dev/VG001/lv1 #调整lv1分区容量为4G,原来是2G
Extending logical volume lv1 to 4.00 GiB
Logical volume lv1 successfully resized
[root@rhel06 ~]# resize2fs /dev/VG001/lv1 #执行重设大小,对当前lv1有效
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VG001/lv1 is mounted on /lv1; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/VG001/lv1 to 1048576 (4k) blocks.
The filesystem on /dev/VG001/lv1 is now 1048576 blocks long.
五、到此设置已完成,df命令查看已扩容到4G
[root@rhel06 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.9G 2.2G 7.3G 23% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 194M 29M 155M 16% /boot
/dev/sr0 3.6G 3.6G 0 100% /mnt
/dev/mapper/VG001-lv1 4.0G 68M 3.7G 2% /lv1
六、新增lv分区
[root@rhel06 ~]# lvcreate -L 4G -n lv0data lv1 #在lv1逻辑卷新增lv0data分区 -L指定大小 -n指定名称
问题1:执行partprobe刷新分区表时会出现以下报错:
[root@rhel06 ~]# partprobe
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙). As a result, it may not reflect all of your changes until after reboot.
这个问题貌似只存在于虚拟机上面,物理机上并没有发现这个问题。重启虚拟机即可。
问题2:fdisk可以查看到sda5分区,但是使用mkfs格式化是提示“没有这个文件或目录”,那是分区表没有刷新或者刷新失败,刷新步骤可参考上一个问题。
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1332 10485760 83 Linux
/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris
/dev/sda4 1593 2610 8176089 5 Extended
/dev/sda5 1593 1854 2103487+ 83 Linux
[root@rhel06 ~]# mkfs.ext4 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
无法对 /dev/sda5 进行 stat 调用 --- 没有那个文件或目录
Linux----LVM扩容磁盘空间的更多相关文章
- LINUX下添加磁盘空间的方法详解
给Linux系统添加磁盘空间在工作会经常遇到. 在添加第二块磁盘一般系统默认为hdb(IDE硬盘)sdb(SCSI 硬盘),以hdb为例. linux-isep:~ # fdisk /dev/hdb ...
- Linux:查看磁盘空间占用情况
Linux:查看磁盘空间占用情况 工作中有时被分配的测试机空间不大,经常遇到磁盘空间占满的情况.排查过程如下: 一.首先使用df -h 命令查看磁盘剩余空间,通过以下图看出/目录下的磁盘空间已经被占满 ...
- linux lvm扩容
1.分区, 查看磁盘使用:fdisk -l 对磁盘分区:fdisk /dev/sdb 2.创建pv pvcreate /dev/sdb1 查看pv: pvdisplay 3.查看vg vgdisp ...
- 转://如何增加linux根目录的磁盘空间(基于LVM)?
问题引出: 在测试过程中替换so文件,报磁盘空间不足的错误. ▲问题分析: 由于当时系统部署架构的考虑,把软件和数据库部署在了同一台机器上,并且给了30G的磁盘空间.系统上占用磁盘空间的有2部分,一是 ...
- 给VMware下的Linux扩容磁盘空间到根分区(以centos7.0为例)
一.扩展VMWare硬盘空间 关闭Vmware 的 Linux系统,这样,才能在VMWare菜单中设置: VM -> Settings... -> Hardware -> Hard ...
- VMware虚拟机Linux中增加磁盘空间的扩容操作
VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置.结合自己的实践,总结 ...
- VirtualBox下Linux(centos)扩展磁盘空间
最近在Linux里做文件合并,做分词,磁盘空间不够,把扩展磁盘空间方法记录一下. 1.在VirtualBox安装路径下(例如C:\Program Files\Oracle\VirtualBox> ...
- VMware 虚拟机(linux)增加根目录磁盘空间
VMware 虚拟机(linux)增加根目录磁盘空间 今天查看学校的监控报修系统,不能访问了!!!系统运行很慢,用top命令查看发现内存使用率90%,用"df -h ”查看“/”目录 ...
- Linux下监控磁盘空间的四个命令
无论是运行简单的Linux桌面还是大型Linux服务器,都需要了解可供应用程序使用的空间,并跟踪系统的磁盘使用情况.下面介绍四个核心命令行命令来管理Linux系统上的介质环境. 一.mount命令 m ...
随机推荐
- 在Visual Studio中使用Git命令提示符
VS2015自带了Git插件,但有时候我觉得Git控制台命令更方便些. VS中本身不能把Git Bush作为浮动窗集成进来,但我们可以通过Power Shell来使用Git命令. ---------- ...
- Qt for Android开发Android应用时的各种错误汇总(此片博文不成熟,请大家略过)
“Qt for Android真的很脆弱,项目能跑起来靠的是奇迹,跑不起来,各种报错才是正常...” 问题一:Qt for Android编译不过:make (e=2): 系统找不到指定的文件. 之前 ...
- css中font-size的单位总结:px、em、pt
px:基于像素的单位.像素是一种有用的单位,因为在任何媒体上都可以保证一个像素的差别确实是可见的.em :一般用来测量长度的通用单位(例如元素周转的页边空白和填充),当用于指定字体大小时,em单位是指 ...
- angular使用echarts折线图
echarts是开源的画图工具,在angular框架中引入echarts不能直接使用.需要新建一个directive //echarts基本参数 app.factory('$echartsConfig ...
- DrawableLayout
提供一个在窗口顶层显示,可从窗口边缘拖出的container组件. DrawableLayout本身作为整个容器,先进行默认显示内容的布局,再进行拖出菜单的内容布局.也就是一个DL包含两个或三个子控件 ...
- 什么是html技术
HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出.设计 HTML 语言的目的是为了能把存放在一台电脑 ...
- code forces 383 Arpa's loud Owf and Mehrdad's evil plan(有向图最小环)
Arpa's loud Owf and Mehrdad's evil plan time limit per test 1 second memory limit per test 256 megab ...
- OS实验报告——作业调度模拟程序
一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行, ...
- nginx 目录映射
---恢复内容开始--- 设置目录映射 ---恢复内容结束--- 设置目录映射
- 【我是老中医】codeblocks无法编译的问题解决方法
前几天把codeblocks的文件夹移动到移动硬盘里面,结果发现从此以后代码不能编译了,当时没有注意,就改用vs写代码,发现真的不是很习惯,正好学妹也碰到这种问题问我怎么解决,然后就百度了一下. 我的 ...