感谢支持
我们一直在努力

[Linux]VMware 无重启添加scsi硬盘实现LVM动态扩容

注:本实验在VMware 7.1.2 环境中完成,RHEL5.5,磁盘采用逻辑卷(LVM)的管理方式。


安装了一些软件过后发现虚拟机Linux的文件系统空间不够了,


[root@server01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      3.9G  3.7G     0 100% /       <==使用率已经高达100%
/dev/sda1              31M  7.8M   22M  27% /boot
tmpfs                 252M     0  252M   0% /dev/shm


于是想重新从物理硬盘上创建一块虚拟硬盘添加上去,将新的硬盘格式化成逻辑卷,对磁盘进行扩容。




1.添加新硬盘


[1]在VMware中添加一块虚拟硬盘是很简单的: 选中你的虚拟机系统->设置,


[2]在弹出的 “虚拟机设置”中选择最下方的添加,然后添加硬件类型 硬盘-> 下一步 ->创建一个新的虚拟磁盘 -> 选择磁盘类型为SCSI


[这里一定要选SCSI(Small Computer System Interface),即小型计算机系统接口。目前主流SCSI硬盘有两种,一种是支持热插拔的,还有一种数据接口和电源接口排列和普通IDE硬盘相似的不能热插拔。]


最后根据提示做相应的设置,直至完成新硬盘的建立。


[3] 硬盘添加完成后,重启后内核会自动探测到这个新的设备,并添加到系统中。你可以用 fdisk -l 命令查看到这块硬盘,一般是以 /dev/sd[a,b,c,…..] 命名的设备。


[4] 但是在实际应用中,我们会选择尽可能地不去重启系统和服务,现在我们就来探讨一种无重启添加scsi硬盘的方法。


在第[2]步完成后,跳过第三步,我们先 cat /proc/scsi/scsi 这个文件,会看到系统中已经包含了一块scsi硬盘




这时我们以root权限执行 echo “scsi add-single-device 0 0 1 0” > /proc/scsi/scsi  添加scsi设备


[*


解释一下 scsi add-single-device a b c d 这个指令中的参数:                        # 相反  scsi remove-single-device a b c d 是用来移除设备的


a ——- Host 是硬盘所在的SCSI控制器的编号,这里只有一个控制器,所以为0


b ——- Channel 硬盘所在SCSI通道的编号,这里是单通道,为0


c ——- Id 硬盘的SCSI ID号,就是插入的硬盘插槽编号,


              这里我最开始安装虚拟Linux系统的时候虚拟了一个SCSI硬盘(SCSI ID为0),


              现在再虚拟一块出来的话,SCSI ID为1


d ——- Lun ,硬盘的lun号[logical unit number]即逻辑单元号,指的是一个用于SCSI总线的唯一的识别号,


          总线使它能区别其他八个设备(它们每个都是一个逻辑单元)。


*]


这时再 cat /proc/scsi/scsi 就会发现新的scsi的相关信息已经加载到内核中去了。



检测一下 fdisk -l : 已经有两块硬盘设备了: /dev/sda 和 /dev/sdb ,但是/dev/sdb上却还没有分区表,接下来我们将格式化这块新的硬盘:






2.格式化成逻辑卷


[root@server01 ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won’t be recoverable.


Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)


Command (m for help): n                      # n是新建一个分区
Command action
   e   extended                                           # e代表扩展分区
   p   primary partition (1-4)                     # p代表主分区
p                                                                  # 这里我们选择p,每个分区表最多可以有4个主分区
Partition number (1-4): 3                        # 可以选择1-4,这里我选3
First cylinder (1-522, default 1):            # 选择首个柱面,默认的就好
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-522, default 522):      # 这里如果选择默认值的话就会使用整块硬盘,你可以自定义大小如 +500M
Using default value 522


Command (m for help): p                      # p代表打印当前的分区表


Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot      Start         End      Blocks   Id  System
/dev/sdb3               1         522     4192933+  83  Linux          # 这里的文件系统为Linux,我想要Linux LVM的文件系统,那么我需要转换


Command (m for help): t                     #  t代表转换文件系统
Selected partition 3                               # 当前分区表只有一个分区,默认选择了分区3
Hex code (type L to list codes): 8e     # 8e代表LVM的文件系统标志,你也可以输入 L 了解具体更多文件系统标志
Changed system type of partition 3 to 8e (Linux LVM)


Command (m for help): w                   # 这里一定要记得保存,否则前功尽弃
The partition table has been altered!


Calling ioctl() to re-read partition table.
Syncing disks.
[root@server01 ~]# 


本篇暂时讲到这里,先歇歇手。磁盘已经格式化好了,下篇我们将一起来对原有的文件系统进行扩容。


在上一篇[ http://www.linuxidc.com/Linux/2011-09/42833.htm]我们已经一步一步地把scsi添加到Linux中并格式化成LVM格式了,本篇将基于LVM对文件系统分区进行扩容。


1.预备工作:


我们要知道LVM一般的操作步骤为:


1】 pvcreate      # 把物理设备[/dev/sdb3]转换成物理卷


2】vgextend     # 把pvcreate产生的物理卷添加到特定的逻辑卷组中


3】 lvextend      # 利用逻辑卷组中的空闲空间来对逻辑卷进行扩容


4】resize2fs    # 调整ext2或ext3文件系统的大小,



                必须经过这一部,文件系统的磁盘空间才得以改变


查看一下当前的文件系统磁盘空间情况:


[root@server01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00     
                      3.9G  3.7G     0 100% /


#这里可以看到根分区使用的是逻辑卷LogVol00,卷组为VolGroup00 ,根分区空间已经快用完了。




2. 在线扩容



[1] 使用pvcreate 把物理设备[/dev/sdb3]转换成物理卷


[root@server01 ~]# pvcreate /dev/sdb3
  Physical volume “/dev/sdb3” successfully created


[root@server01 ~]# pvscan 
  PV /dev/sda2   VG VolGroup00      lvm2 [3.94 GB / 0    free]
  PV /dev/sdb3                      lvm2 [4.00 GB]
  Total: 2 [7.94 GB] / in use: 1 [3.94 GB] / in no VG: 1 [4.00 GB]


[2] 使用vgextend 把pvcreate产生的物理卷添加到特定的逻辑卷组中



先来查看系统中原有的逻辑卷组:


[root@server01 ~]# vgdisplay 
  — Volume group —
  VG Name               VolGroup00
  System ID             
  Format                lvm2
………….(此处略去一些字)……………..
  Free  PE / Size       0 / 0   
  VG UUID               Zco6EF-DxKn-V2Qn-Ca2y-JBhQ-JIO5-SvKcji

我的系统中当前只有一个名为VolGroup00逻辑卷组,而且这个逻辑卷组刚好是 / 分区使用的那个,我们就把物理卷添加到这个卷组(VG)里面。

[root@server01 ~]# vgextend /dev/mapper/VolGroup00 /dev/sdb3
  Volume group “VolGroup00” successfully extended


[3] 使用lvextend把逻辑卷组中的空闲空间扩展到 / 分区所在的逻辑卷(LogVol00)中:


[这里我添加了200M]


[root@server01 ~]# lvextend -L +200M /dev/mapper/VolGroup00-LogVol00
  Rounding up size to full physical extent 224.00 MB
  Extending logical volume LogVol00 to 4.16 GB
  Logical volume LogVol00 successfully resized
[root@server01 ~]#


然后我们查看分区的空间有没有变化:


[root@server01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      3.9G  3.7G     0 100% /
/dev/sda1              31M  7.8M   22M  27% /boot
tmpfs                 252M     0  252M   0% /dev/shm


没有任何变化!为什么呢?之前说过了,还有第四步——调整文件系统大小


[4] 使用resize2fs调整文件系统的大小:


[root@server01 ~]# 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 1089536 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 1089536 blocks long.


[root@server01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      4.1G  3.7G  168M  96% /
/dev/sda1              31M  7.8M   22M  27% /boot
tmpfs                 252M     0  252M   0% /dev/shm

怎么样,扩容成功了吧。

赞(0) 打赏
转载请注明出处:服务器评测 » [Linux]VMware 无重启添加scsi硬盘实现LVM动态扩容
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏