Ubuntu根分区使用Lvm扩容

Ubuntu根分区使用Lvm扩容ubuntu根分区剩余空间不足,影响工作,因此通过lvm工具对根文件系统进行扩容系统版本:ubuntu-14.04LTS1.使用新硬盘扩展根文件系统 新建一块硬盘并进行分区: fdisk/dev/sde 依次键入n,创建新分区;然后分区类型选择p;其他默认输入即可。 图1:创建新分区 分区创建完成后,修改分区类型为lvm: 图2:修改分区类型 新建的分区类型不能为扩展分区,否则不能更改分区类型,目前还不清楚原因,需要继续查找其他资料,..

大家好,又见面了,我是你们的朋友全栈君。

ubuntu 根分区剩余空间不足,影响工作,因此通过lvm工具对根文件系统进行扩容

系统版本:ubuntu-14.04 LTS

1. 使用新硬盘扩展根文件系统

  • 新建一块硬盘并进行分区:

    fdisk /dev/sde

    依次键入n, 创建新分区;然后分区类型选择p; 其他默认输入即可。

    Ubuntu根分区使用Lvm扩容

    图1:创建新分区

    分区创建完成后,修改分区类型为lvm:  

  • Ubuntu根分区使用Lvm扩容

    图2:修改分区类型

    新建的分区类型不能为扩展分区,否则不能更改分区类型,目前还不清楚原因,需要继续查找其他资料, 弄清原因。

    Ubuntu根分区使用Lvm扩容

    图3:扩展分区修改类型失败

  • 格式化分区:

    mkfs.ext4 /dev/sde1
  • 创建新PV:

    pvcreate /dev/sde1
  • 查看卷组信息,并扩展根系统所在卷组:

    Ubuntu根分区使用Lvm扩容

    图4:查看卷组信息

    Ubuntu根分区使用Lvm扩容

    图5:扩展卷组

  • 扩展根文件系统所在逻辑卷组;

    Ubuntu根分区使用Lvm扩容

    图6:根文件系统信息

    Ubuntu根分区使用Lvm扩容

    图7:扩展逻辑卷

  • 使得扩容生效:

    Ubuntu根分区使用Lvm扩容

    图8:执行扩容命令

    Ubuntu根分区使用Lvm扩容

    图9:根文件系统可用空间已经增大

2. 用未完全使用硬盘扩展根文件系统

假如没有新硬盘可用,并且系统挂载的硬盘有空闲扇区。那么可以通过空闲扇区新建分区来进行扩展。

# 对已经使用但是没有完全使用的分区进行lvm扩容。
# 比如,有vda,总容量为500G,但是只有两个分区:vda1和vda2且只用了10G。
# 因此可以使用下面的命令进行操作新建分区。
# 对于一块完整的未使用的硬盘,参考原来写的。

[root@host-13-13-13-4 ~]# fdisk /dev/vda

WARNING: DOS-compatible mode is deprecated. It is strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/vda: 214.7 GB, 214748364800 bytes
16 heads, 63 sectors/track, 416101 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b404e

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3        1018      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2            1018       20806     9972736   8e  Linux LVM
Partition 2 does not end on cylinder boundary.

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (1-416101, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2, default 2):
Using default value 2

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Selected partition 4
First cylinder (20806-416101, default 20806):
Using default value 20806
Last cylinder, +cylinders or +size{K,M,G} (20806-416101, default 416101):
Using default value 416101

Command (m for help): p

Disk /dev/vda: 214.7 GB, 214748364800 bytes
16 heads, 63 sectors/track, 416101 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b404e

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3        1018      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2            1018       20806     9972736   8e  Linux LVM
Partition 2 does not end on cylinder boundary.
/dev/vda3               1           2         976+  83  Linux
/dev/vda4           20806      416101   199229144   83  Linux

Partition table entries are not in disk order

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): 8e
Changed system type of partition 4 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@host-13-13-13-4 ~]# reboot

6.3. 命令参考和自动化脚本

fdisk 命令新建好分区后,扩展根文件系统的相关命令以及自动化脚本。

fdisk /dev/sde
# 新建分区完成后,需要重读分区表。
# 如果重读分区表命令不可行,可以reboot重启系统。
partprobe
fdisk  /dev/sde
mkfs.ext4 /dev/sde1
pvcreate /dev/sde1
vgdisplay
df -hl
vgextend  ubuntu-vg /dev/sde1
lvdisplay
lvextend -L 37G /dev/mapper/ubuntu--vg-root
resize2fs /dev/mapper/ubuntu--vg-root

更新: 2017-05-08 16:17

最近在centos7系统进行lvm扩容的时候,总是提示 Bad magic number in super-block while trying to open /dev/mapper/centos-root , (原来在centos-6.5系统扩容时没有这个问题)!经过搜索,发现可以用另外一个命令进行扩容!

xfs_growfs $LVM_ROOT

Ubuntu根分区使用Lvm扩容

提示bad magic number错误

以下是自动化脚本,供参考,经测试可以直接复制使用!唯一需要注意的是扩展后的空间大小!

# 然后使用下面的命令扩展根文件系统
mkfs.ext4 /dev/vda4
pvcreate /dev/vda4
VG_NAME=`vgdisplay| grep "VG Name" | awk '{print $3}'`
vgextend $VG_NAME /dev/vda4
#LVM_ROOT=`df -hl | grep "/dev/mapper" | awk '{print $1}' | cut -d "/" -f4`
LVM_ROOT=`df -hl | grep "/dev/mapper" | awk '{print $1}'`
lvextend -L 190G $LVM_ROOT
#resize2fs /dev/mapper/VolGroup-lv_root
resize2fs $LVM_ROOT

6. Ubuntu根分区使用Lvm扩容 — Welcome to Sitian’s Blog 1.0 documentationicon-default.png?t=L9C2https://gtcsq.readthedocs.io/en/latest/linux_tools/ubuntu_lvm_extend.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151677.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7系统更新命令_centos 更新

    centos7系统更新命令_centos 更新1.查看网络IP ifconfig2.下载命令 wget+网址3.安装 yum-y install + 目标4.删除文件 sudo rm 文件所在目录/目标强制删除文件 rm -f删除目录 rm -rf5.复制一个文件到另一个文件夹sudo cp /文件夹/文件 /另一个文件夹6.对一些文件进行读写sudo vim 文件名7….

    2022年8月19日
    3
  • 数据结构七大排序算法图解[通俗易懂]

    数据结构七大排序算法图解[通俗易懂]万字手撕七大排序(代码+动图演示)…

    2022年8月30日
    0
  • 2021 idea激活码最新(破解版激活)

    2021 idea激活码最新(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    66
  • openGl超级宝典学习笔记 (1)第一个三角形「建议收藏」

    openGl超级宝典学习笔记 (1)第一个三角形

    2022年1月21日
    48
  • oracle dmp导入导出_oracle导出数据

    oracle dmp导入导出_oracle导出数据Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用……Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp…

    2022年10月29日
    0
  • python十大框架_python 十大web框架排名总结

    python十大框架_python 十大web框架排名总结0引言python在web开发方面有着广泛的应用。鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题。为此,我特此对比较常见的几种框架从性能、使用感受以及应用情况进行一个粗略的分析。1DjangoDjango是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是C…

    2022年5月25日
    250

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号