虚拟机中的centos(/dev/mapper/centos-root)扩展分区

本文介绍了在虚拟机上扩展分区及CentOS系统磁盘空间的方法。先在虚拟机上扩展分区,以root用户登入系统新建分区并格式化,接着创建PV,将其加入VG扩充大小,再扩展LV,最后使用xfs_growfs命令使系统重新读取大小,完成磁盘空间扩展。

一、虚拟机上先扩展分区

二、centos系统root登入,新建分区
2.1 【fdisk -l】 最大分区为/dev/sda2,说明新创建的分区将会是sda3(在后面的步骤会进行选择)

2.2 输入【fdisk /dev/sda】

2.2.1命令行提示下输入【m】

2.2.2输入命令【n】添加新分区。

2.2.3输入命令【p】创建主分区。

2.2.4输入【回车】,选择默认

2.2.5输入【回车】,选择默认

2.2.6输入【w】,保持修改

2.3 输入【reboot】 重启linux,必须reboot,否则/dev/sda3无法格式化。

2.4 这时在/dev/目录下,才能看到了新的分区比如/dev/sda3

2.5 格式化  

[root@localhost]# mkfs.ext3 /dev/sda3

三、扩展/dev/mapper/centos-root

3.1.创建pv(给刚刚新建的分区 /dev/sda3)
[root@localhost ~]# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created
 3.2.把pv加入vg中,相当于扩充vg的大小

先使用vgs查看vg组
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   1   2   0 wz--n- 19.51g 40.00m<br>

 扩展vg,使用vgextend命令
[root@localhost ~]# vgextend centos /dev/sda3
  Volume group "centos" successfully extended
 3.3.我们成功把vg卷扩展了,在用vgs查看一下
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   2   2   0 wz--n- 39.50g 20.04g
[root@localhost ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 17.47g                                                   
  swap centos -wi-ao----  2.00g  虽然我们把vg扩展了,但是lv还没有扩展
3.4.扩展lv,使用lvextend命令
[root@localhost ~]# lvextend -L +20G /dev/mapper/centos-root
  Size of logical volume centos/root changed from 17.47 GiB (4472 extents) to 37.47 GiB (9592 extents).
  Logical volume root successfully resized.
 查看lv大小
[root@localhost ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 37.47g                                                   
  swap centos -wi-ao----  2.00g  
 查看df  -h中变化没有
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   18G  1.1G   17G    6% /
devtmpfs                 479M     0  479M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.7M  483M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M   25% /boot
tmpfs                     98M     0   98M    0% /run/user/0<br><br>没有变化。
 那么我们要使用[root@localhost ~]# xfs_growfs /dev/mapper/centos-root 命令使系统重新读取大小
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=1144832 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=4579328, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4579328 to 9822208
 再使用df  -h查看
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   38G  1.1G   37G    3% /
devtmpfs                 479M     0  479M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.7M  483M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M   25% /boot
tmpfs                     98M     0   98M    0% /run/user/0
 到这里我们就成功扩展了。
--------------------- 
 

  399  pvcreate /dev/sda3
  400  vgs
  401  vgextend centos /dev/sda3
  402  vgs
  403  lvs
  404  lvextend -L +50G /dev/mapper/centos-root
  405  lvs
  406  df -h
  407  xfs_growfs /dev/mapper/centos-root
  408  df -h
 

原文:https://blog.csdn.net/wangjianqing1/article/details/79164696 

<think>首先,用户的问题是:“我想解决虚拟机镜像中/dev/mapper/centos-root分区空间不足的问题请问虚拟机centos-root分区爆满如何清理或扩容”。我需要根据系统级指令回答。系统级指令:1.所有行内数学表达式必须使用$...$格式。2.独立公式必须使用$$...$$格式并单独成段。3.LaTeX语法正确。4.使用中文回答。5.生成相关问题。6.回答中引用的段落末尾自然地添加引用标识,例如[^1]。用户可见层:-回答结构清晰,帮助用户逐步解决问题。-尽量保证回答真实可靠。-参考站内引用(引用[1]到[5]),这些是关于虚拟机磁盘扩容的步骤。用户的问题是关于CentOS虚拟机中/dev/mapper/centos-root分区空间不足,需要清理或扩容。引用提供了具体的扩容步骤。我的回答应该包括:1.**清理空间**:首先建议清理不必要的文件,因为扩容可能不是首选。2.**扩容分区**:如果清理不够,则提供扩容步骤,基于引用。参考引用:-引用[1]:使用lvs和lvextend扩展分区-引用[2]:增大虚拟机磁盘大小,创建新分区扩展逻辑卷和文件系统。-引用[3]:类似步骤,使用fdisk、pvcreate、vgextend等。-引用[4]:增加磁盘容量,创建分区,添加到LVM组。-引用[5]:详细步骤,包括使用lsof检查删除的文件,然后扩容。关键步骤总结:1.**增大虚拟机磁盘大小**:在虚拟机设置中增加磁盘容量(需要关机)。2.**创建新分区**:使用fdisk命令。3.**初始化分区为物理卷**:pvcreate。4.**扩展卷组**:vgextendcentos/dev/sdaX。5.**扩展逻辑卷**:lvextend-L+size/dev/mapper/centos-root。6.**扩展文件系统**:xfs_growfs或resize2fs(取决于文件系统类型)。在回答中,我需要结构化:-**步骤1:检查当前空间使用情况**:使用df-h和du-sh/*。-**步骤2:尝试清理空间**:删除临时文件、日志等。-**步骤3:扩容操作**:详细步骤基于引用。-**注意事项**:备份数据、确认文件系统类型(XFS或ext4)。生成相关问题:-在回答末尾,添加相关问题。引用标识:在回答中,当引用特定步骤时,添加引用标识,如[^1]。使用中文回答。行内数学表达式:用户问题中没有数学内容,但如果有,比如计算大小,确保使用$...$。例如,如果提到大小,可以写$+10G$。独立公式:可能不需要,除非有复杂公式。现在,构建回答:1.**介绍**:简述问题。2.**清理空间建议**:快速方法。3.**扩容详细步骤**:分步指导。4.**验证**:检查结果。5.**相关问题**:生成3-5个相关问题。相关问题想法:1.如何检查Linux分区使用情况?2.LVM管理的基本命令有哪些?3.在虚拟机扩展磁盘的其他方法?4.如何避免根分区空间不足?5.XFS和ext4文件系统在扩容时的区别?</think>### 虚拟机 CentOS分区空间不足的解决方案 当虚拟机中的 `/dev/mapper/centos-root` 分区空间不足时,可通过 **清理空间** 或 **扩容分区** 两种方式解决。清理空间操作简单但效果有限,扩容则能彻底解决问题。以下是详细步骤(基于CentOS 7/8,操作前请 **备份重要数据** 并 **确保虚拟机已关机** 以增大磁盘容量)。 --- ### 步骤1:检查空间使用情况(清理前的诊断) 首先,登录虚拟机终端,运行命令查看分区状态: ```bash df -h # 查看磁盘使用率,确认/dev/mapper/centos-root占用接近100% du -sh /* # 分析各目录大小,定位大文件 ``` 如果发现 `/var/log/` 或 `/tmp/` 占用过高,优先清理(如删除旧日志): ```bash sudo rm -rf /var/log/*.log # 清理日志文件 sudo journalctl --vacuum-size=100M # 限制系统日志大小 ``` --- ### 步骤2:清理空间(快速缓解) 如果扩容不可行,先尝试清理: 1. **检查并终止占用空间的进程**: ```bash lsof | grep deleted # 查找已删除但未释放的文件 kill -9 $(lsof | grep deleted | awk '{print $2}') # 终止相关进程[^5] ``` 2. **删除缓存和临时文件**: ```bash sudo yum clean all # 清理YUM缓存 sudo rm -rf /tmp/* # 清空临时目录 ``` 3. **卸载不必要的软件**: ```bash sudo yum remove 未使用的软件包名 ``` 清理后运行 `df -h` 确认空间释放。若仍不足,则需扩容。 --- ### 步骤3:扩容分区(彻底解决方案) 扩容需先在虚拟机设置中增大磁盘(如VMware/VirtualBox中调整磁盘大小),然后执行以下步骤: #### 3.1 增大虚拟机磁盘并创建新分区 1. **虚拟机设置中扩大磁盘**(例如从20G增至40G),启动系统。 2. **创建新分区**: ```bash sudo fdisk /dev/sda # 操作磁盘设备 ``` - 输入 `n` 创建新分区(类型选 `p` 主分区)。 - 分区号默认(如 `sda3`),起始/结束扇区回车默认。 - 输入 `t` 设置类型为 `8e`(LVM类型)。 - 输入 `w` 保存[^3][^4]。 3. **重启并刷新分区表**: ```bash sudo reboot # 或 sudo partprobe /dev/sda ``` #### 3.2 扩展LVM逻辑卷 1. **初始化新分区为物理卷**: ```bash sudo pvcreate /dev/sda3 # 假设新分区为sda3[^2][^4] ``` 2. **扩展卷组(VG)**: ```bash sudo vgextend centos /dev/sda3 # 将新分区加入centos卷组[^1][^3] sudo vgdisplay # 验证新增空间 ``` 3. **扩展逻辑卷(LV)**: ```bash sudo lvextend -L +10G /dev/mapper/centos-root # 增加10G空间(根据需求调整)[^1][^5] ``` #### 3.3 扩展文件系统 - **XFS文件系统**(CentOS 7默认): ```bash sudo xfs_growfs /dev/mapper/centos-root # 扩展文件系统[^2][^5] ``` - **ext4文件系统**(如CentOS 6): ```bash sudo resize2fs /dev/mapper/centos-root ``` 完成后运行 `df -h`,确认 `/dev/mapper/centos-root` 容量已增大。 --- ### 注意事项 - **风险提示**:扩容操作需谨慎,误操作可能导致数据丢失。确保虚拟机有快照备份。 - **文件系统类型**:通过 `lsblk -f` 确认文件系统(XFS或ext4),选择对应扩展命令[^4]。 - **空间计算**:添加大小如 $+10G$ 需小于可用卷组空间(通过 `vgdisplay` 查看 `Free PE`)。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值