虚拟机linux系统如何实现磁盘增加和磁盘扩容

虚拟机系统centos6.3,平台vmware workstation

kernel release:2.6.32-279.el6.i686(因为下面扩容的时候会用到lvm命令,有的版本可能系统没有所以去要下载)

下载地址为:http://rpmfind.net/linux/rpm2html/search.php?query=lvm&submit=Search+...&system=&arch=           <-------[rpm包地址] <解压命令为rpm -ivh *.rpm>

****************************************************************************************************************************************************************


1.磁盘增加

首先我们先用df命令来查看一下我们的磁盘情况。

虚拟机linux系统如何实现磁盘增加和磁盘扩容_第1张图片

我的虚拟机上已经有了2个磁盘,分别是sda和sdb(后面的数字是分区.例如sda1 sda2 sda3.即sda这个磁盘分位3个区,1,2,3.而后面的a,b,c...是用来区分第几个磁盘)

现在我希望再增加一个磁盘 即sdc

a.首先我需要虚拟一个磁盘出来.


打开settings选项

这个里面你可以选择你所需要增加磁盘的大小,这里我选择的是10G



*****************************************************************************************************************************************************************************************

以上一切操作都是在虚拟机关闭的情况下执行


b.接下来让我们进入系统里面,使刚增加的虚拟磁盘真正的”加上去“

在这里面我们将进行对于磁盘的分区,格式化,挂载。

这个时候我们再用一下df -lh命令的时候

******************************************************************************

[lzj@localhost ~]$ df -lh

文件系统              容量  已用  可用 已用%% 挂载点
/dev/mapper/vg_lzj-lv_root
                       36G  5.4G   31G  15% /
tmpfs                 504M  112K  504M   1% /dev/shm
/dev/sda1             485M   32M  428M   7% /boot
/dev/sdb1              20G  172M   19G   1% /home/lzj/mnt/disk1
/dev/sr0              690M  690M     0 100% /media/CentOS-6.3-i386-LiveCD_

*********************************************************************************

我们新增的磁盘sdc并看不见,是因为df用来查询已挂载的分区命令。

我们就需要用另一个命令  fdisk 来帮助我们进行接下来的操作。

由于接下来的操作都是对设备文件进行操作,所以我们需要root权限。

[lzj@localhost ~]$ sudo fdisk -l


Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 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: 0x000c95db


   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM
/dev/sda3            2611        5221    20966162+  8e  Linux LVM


Disk /dev/sdb: 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: 0xa0e3c5a3


   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2610    20964793+  83  Linux

***************************************************************************************************

Disk /dev/sdc: 10.7 GB, 10737418240 bytes(这里我们就可以看到我刚新增的磁盘sdc)

255 heads, 63 sectors/track, 1305 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: 0x00000000
***************************************************************************************************



Disk /dev/mapper/vg_lzj-lv_root: 39.2 GB, 39233519616 bytes
255 heads, 63 sectors/track, 4769 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: 0x00000000




Disk /dev/mapper/vg_lzj-lv_swap: 2113 MB, 2113929216 bytes
255 heads, 63 sectors/track, 257 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: 0x00000000

对磁盘进行分区:

[lzj@localhost ~]$ sudo fdisk /dev/sdc


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


Command (m for help): m(列出fdisk菜单)
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n(选择n,新增分区)
Command action
   e   extended
   p   primary partition (1-4):p(选择创建主分区)
Partition number (1-4): 1(因为这是个新硬盘,所以我选择名字叫1就可以了,如果以前存在sdc1,sdc2那么这个时候我就要选择3)
First cylinder (1-1305, default 1): (这里是选择分区的开始值,回车即可)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): (这里是选择分区结束值,假如我们只分1个分区,回车即可,若还要继续分则自己选择大小)
Using default value 1305


Command (m for help): w(保存退出)
The partition table has been altered!(成功)





Calling ioctl() to re-read partition table.
Syncing disks.


这里我们可以查看一下

[lzj@localhost ~]$ sudo fdisk -l /dev/sdc

Disk /dev/sdc: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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: 0x1d60b276
********************************************************************
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1305    10482381   83  Linux

********************************************************************注意看这里,是比以前多的地方,说明已经分区。

然后我们就需要对这个分区进行格式化

#################################
ps:因为我们新增的磁盘就是一块白板
 对系统来说
 他是没办法认识的
 所以要格式化
 分区是为了更好的读取数据
 好比图书馆的那么多书都要分号类别一样
 方便速度
##################################

[lzj@localhost ~]$ sudo mkfs -t ext4 /dev/sdc1 
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2620595 blocks
131029 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632


正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成


This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

最后我们只需要对这个分区进行挂载即可

我们需要在/目录下新建一个mnt/disk的目录(其实也可以再其他目录下/mnt/disk目录,为了方便管理而已)

然后我们再用mount命令来进行挂载

[lzj@localhost disk]$ sudo mount -t ext4 /dev/sdc1 /mnt/disk/
[lzj@localhost disk]$ df -lh 
文件系统              容量  已用  可用 已用%% 挂载点
/dev/mapper/vg_lzj-lv_root
                       36G  5.4G   31G  15% /
tmpfs                 504M  112K  504M   1% /dev/shm
/dev/sda1             485M   32M  428M   7% /boot
/dev/sdb1              20G  172M   19G   1% /home/lzj/mnt/disk1
/dev/sr0              690M  690M     0 100% /media/CentOS-6.3-i386-LiveCD_
/dev/sdc1             9.9G  151M  9.2G   2% /mnt/disk (这样我们新增的磁盘就成功挂载到虚拟机上面了)

ps:新增了磁盘我们就可以把其他内容写到/mny/disk 这个目录下 这样就能减轻其他磁盘的负担 当然你需要这个目录进行权限给予,不然每次都要用root很麻烦

sudo chomd 777 /mnt/disk 即可

当然如果你们习惯在/home 目录下面操作或者你的大部分文件都在/home目录下面,你也可以再/home目录下面建立一个软连接

ln -s /mnt/disk ~/disk(-s是软连接,软连接和硬连接的区别在于软连接可以夸分区进行连接)

这样你即可在/home目录下操作新增的磁盘,不需要再跑到/下面了



2.磁盘扩容

对于磁盘的扩容我这里运用的是lvm动态管理分区模式(linux服务器管理经常会用到的技术)
由于下面2个博客已经很详细的我就不再过多解释,大家可以参考一步步去做。
http://blog.csdn.net/seteor/article/details/6708025(这个博客是教你如何创建一个逻辑卷然后对它进行扩容)
http://www.blogjava.net/cpegtop/articles/381505.html(这个博客是你虚拟机中本来就存在逻辑卷,然后对存在的这个进行扩容)

你可能感兴趣的:(虚拟机linux系统如何实现磁盘增加和磁盘扩容)