(转)虚拟机环境中linux系统增加磁盘空间

前段时间在vmware ESXi虚拟化环境中安装了一套turbolinux系统,当时并没有在意磁盘如何规划,使用了LVM,心想反正能够随时扩展。不料时间不长,问题出现了,分配的磁盘空间满了。以为能够象windows Server环境中使用磁盘管理增加动态磁盘那样方便呢,就随意在ESX管理器中将原有的磁盘从10G增加到了13G,重启挂载LVM没有左右,重启系统了。

重启后 ,使用fdisk -l能够看到/dev/sda的空间已经增加了,但仍还是原来的两个磁盘/dev/sda1和/dev/sda2 (LVM)。在LVM逻辑卷管理其中仍是原来的10G空间,但在“未初始化的实例”中可以看到增加的3G未初始化的磁盘实例(unpartitioned space on /dev/sda)。

增加磁盘后不重启的方法:

Linux操作系统不能重启或者关机,但是需要给Linux系统热添加 SCSI 硬盘,或者移除非 OS 的 SCSI 硬盘。
solution:
添加
echo "scsi add-single-device 1 2 3 4" >/proc/scsi/scsi
移除:
echo "scsi remove-single-device 1 2 3 4" > /proc/scsi/scsi

命令行解释:
命令行中标红的 1 2 3 4 需要自行修改成相应的参数:
1 : SCSI HBA ID
2 : SCSI Channel
3 : SCSI ID
4 : LUN ID

如何查看 1 2 3 4 中的参数?举例:
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: Adaptec  Model: 2410SA Stripe    Rev: V1.0
  Type:   Direct-Access                    ANSI SCSI revision: 02

实际添加例子:
添加到第一块SCSI HBA, Channel 0, ID 3, LUN 0:
echo "scsi add-single-device 0 0 3 0" >/proc/scsi/scsi

解决办法:

使用sfdisk /dev/sda 命令,选择n (add a new partition),然后选择p (primary partition ),选择一个磁盘号,随后系统会自动提示选择起始块和最后的块。使用p(print the partion table)查看磁盘是否已经增加:

Disk /dev/sda: 13.9 GB, 13958643712 bytes
255 heads, 63 sectors/track, 1697 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM
/dev/sda3 1306 1697 3148740 83 Linux
可以看到/dev/sda3的 id是83,这样的磁盘无法加入到lvm中,选择t(change a partition's system id),键入8e (Linux LVM 的id)。

最后,w保存退出。再使用sfsik -l即可看到新增的磁盘。

此时,使用lvm的初始化磁盘工具或者直接使用pvcreate /dev/sda3命令会提示出错,提示

Device “/dev/sda3” not found (or ignored by filtering)

出错的原因在于使用fdisk修改配置时没有在runlevel 1下进行,重启系统后可解决此问题。

[root@turbolinux ~]# fdisk -l

Disk /dev/sda: 13.9 GB, 13958643712 bytes
255 heads, 63 sectors/track, 1697 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM
/dev/sda3 1306 1697 3148740 8e Linux LVM

[root@turbolinux ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created

[root@turbolinux ~]# lvm
lvm> pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [9.88 GB / 640.00 MB free]
PV /dev/sda3 lvm2 [3.00 GB]
Total: 2 [12.88 GB] / in use: 1 [9.88 GB] / in no VG: 1 [3.00 GB]

lvm> vgextend VolGroup00 /dev/sda3
Volume group "VolGroup00" successfully extended

lvm> lvdisplay
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID 9tKx5o-7wgM-0BhF-OMqy-EY14-ttbL-30j1px
LV Write Access read/write
LV Status available
# open 1
LV Size 7.25 GB
Current LE 232
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

lvm> lvextend
Please specify either size or extents but not both.

lvm> lvextend -L+2G /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 9.25 GB
Logical volume LogVol00 successfully resized

lvm> lvdisplay
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID 9tKx5o-7wgM-0BhF-OMqy-EY14-ttbL-30j1px
LV Write Access read/write
LV Status available
# open 1
LV Size 9.25 GB
Current LE 296
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

逻辑卷的大小已经更改到9.23G了,但文件系统仍没有增加:

[root@turbolinux ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
7364072 5140148 1843844 74% /
/dev/sda1 101086 25946 69921 28% /boot
tmpfs 2073968 0 2073968 0% /dev/shm

需要使用resize2fs命令将文件系统扩展到增加的空间上:
[root@turbolinux ~]# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 2424832 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 2424832 blocks long.

[root@turbolinux ~]# df -m
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
9176 5020 3683 58% /
/dev/sda1 99 26 69 28% /boot
tmpfs 2026 0 2026 0% /dev/shm
[root@turbolinux ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
9395560 5140156 3770492 58% /
/dev/sda1 101086 25946 69921 28% /boot
tmpfs 2073968 0 2073968 0% /dev/shm
至此,磁盘空间的扩展工作完毕。

另,更改swap空间的内容如下:

默认安装时,不知为何,将swap的空间定为了5G,感觉没有必要这么大,需减少一点,因为swap在VolGroup00中,所以调整大小非常方便,

  具体操作如下:

  关闭swap先

  # swapoff -v /dev/VolGroup00/LogVol01

  # lvm lvreduce /dev/VolGroup00/LogVol01 -L -1G

  # mkswap /dev/VolGroup00/LogVol01

  重新打开swap

  # swapon -va

swap常用命令:

cat /proc/swaps

swapon -s

调整swap大小:
dd if=/dev/zero of=swapfree bs=32k count=8192 (256MB)
mkswap swapfree
swapon /tmp/swapfree

停止:
swapoff /tmp/swapfree
启动时加载:
在/etc/fstab文件中,加入下行:
/tmp/swapfree swap swap defaults 0 0

时间: 2024-10-28 04:00:30

(转)虚拟机环境中linux系统增加磁盘空间的相关文章

Mysql运行环境优化(Linux系统)

这篇文章主要介绍了Mysql运行环境优化(Linux系统),本文优化了修改Linux默认的IO调度算法.扩大文件描述符.禁用numa特性.修改swappiness设置.优化文件系统挂载参数等配置,需要的朋友可以参考下 一.修改Linux默认的IO调度算法. linux默认的IO调度算法为cfq,需要修改为dealine,如果是SSD或者PCIe-SSD设备,需要修改为noop,可以使用下面两种修改方式. 1.在线动态修改,重启失效. 代码如下: echo "deadline" >

虚拟机增加磁盘空间后SWAP分区不能挂载怎么办?

  解决虚拟机linux增加磁盘空间后SWAP分区不能自动挂载的问题,本文所使用linux为LUBUNTU,不保证适用于其他发行版linux 1.进入linux图形界面,在系统工具里面找到磁盘管理工具,lubutnu的磁盘管理工具就是Disk,打开后鼠标点击swap分区,发现此分区是mot mount状态 2.点击左下齿轮形状的图标,选择第一项format,type选择ext4,格式化完成后进入下一步 3.同样点击齿轮形状的按钮,选择edit partition,type选择为swap 0x82

GParted如何给linux系统进行磁盘分区?

  GParted是一款非常好用的linux系统磁盘分区工具,那么,GParted是怎么给linux系统进行磁盘分区的呢?今天,我们的电脑使用教程中,就要来跟大家分享一下这个问题的解决方法.在本教程中,我们将一起来人学习一下如何使用一个Linux 紧急引导磁盘实现您的更改.该磁盘被引导之后,您可以运行 GParted ,就像您从一个常规系统运行那样,使用即指即点操作来告知软件您想进行什么操作. GParted 运行一个紧急磁盘 现在有许多 Linux 紧急磁盘(emergency discs),

让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改

第3部分 软件研发工作总结 VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改   [文章摘要]         Pclint是一种C/C++软件代码静态分析工具.它是一种更加严格的编译器,能够发现普通编译器所不能发现的代码中的很多问题,因此被广泛应用于软件开发项目中.        本文介绍了如何在VC++集成开发环境中配置Linux下的Pclint工程,给出了C语言中pclint规则A检查的常见错误,并描述了对应的修改办法.   [关键词]          VC++

Xp系统提示磁盘空间不足怎么解决

  Xp系统提示磁盘空间不足怎么解决 1.点击开始按钮,点击"运行"; 2.在运行框中输入"regedit"按下回车键打开"注册表编辑器"; 3.在注册表中依次展开:HKEY CURRENT USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer; 4.在右侧空白处单击右键,选择"新建"-"dword(32位)值",将该值命名为"NoL

Linux找回丢失磁盘空间的方法

  Linux系统磁盘提示满了,可是磁盘内文件加起来的大小和被占用的大小不一致,这就是磁盘丢失的情况,那么是什么程序占用了磁盘空间?下面小编就给大家介绍下Linux找回丢失磁盘空间的方法. 经常接触linux的用户也许会经常遇到这样的问题: 收到一个磁盘告警,说某某分区已经满了,然后登录服务器 df 一看,发现磁盘确实快满了,然后你就想找到具体是哪个目录满了,于是 du -s * 一看,却发现所有子目录的大小总和却和df显示的总已使用磁盘空间对不上,有时候甚至还相差很多,于是就纳闷了:我的磁盘空

Xp系统提示磁盘空间不足怎么办

   Xp系统提示磁盘空间不足怎么办 1.点击开始按钮,点击"运行"; 2.在运行框中输入"regedit"按下回车键打开"注册表编辑器"; 3.在注册表中依次展开:HKEY CURRENT USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer; 4.在右侧空白处单击右键,选择"新建"-"dword(32位)值",将该值命名为"NoL

如何在win7电脑中释放更多的磁盘空间

  电脑本身就是一个大型的数据库,虽然容量比较大,但是久而久之,总会有磁盘不够用的一天,今天小编要带给大家的win7技巧,就是如何在win7电脑中释放更多的磁盘空间! 首先,我们在我的电脑中刚打开文件夹选项,然后点击查看,显示所有的文件和文件夹,这里将隐藏文件前面的勾去掉并选择确定. 接下来,我们需要关闭系统还原,右键点击我的电脑,进入属性窗口,然后选择系统还原,关闭所有磁盘删过的系统还原,并删除相应的文件夹:C :System Volume Information.2. 第三步,我们将系统休眠

linux 运行时磁盘空间不足问题

问题描述 linux 运行时磁盘空间不足问题 Host system reported disk full. VM execution is suspended. You can resume after freeing some space. 解决方案 解决linux磁盘空间不足的问题Linux磁盘空间不足虚拟机linux磁盘空间不足的解决办法 解决方案二: 那就清理下空间,或者删除下东西就好了