VMware虚拟机添加磁盘

前言

最近在搞使用CDH安装Hadoop的时候,需要搭建一个内网的yum源(参考使用httpd搭建内网yum源),并把CDH的RPM包放上去,方便虚拟机内网使用yum进行安装。由于我最开始虚拟机内网yum源只设置了20G的磁盘,硬盘剩余空间已经不够用,因此考虑给该虚拟机添加硬盘,并将该硬盘挂载到httpd的子目录上,在该磁盘上单独放CDH的包。

新建硬盘

VMware添加硬盘非常简单,只需要鼠标右键想要添加硬盘的虚拟机,然后点击添加,选择硬盘,根据向导进行添加即可。

VMware虚拟机添加磁盘

图形化的向导使用非常方便,在此不作赘述,从上图可以看出,我已经添加了一个20G的硬盘到该虚拟机上,在上图的设备名为硬盘2.

在虚拟机上查看磁盘信息

启动该虚拟机,在命令行使用fdisk命令查看添加的磁盘是否存在。

[root@master ~]# fdisk -l | grep sd
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors

打印出的/dev/sdb即是我添加的硬盘,由于它是新添加的硬盘,所以没有像sda那样的分区( 即sda1、sda2)。如果有在Windows上使用磁盘管理器的经验的话,就会知道新添加的硬盘是无法直接使用的,需要给该硬盘进行分区,使得Linux系统“认识”它。

fdisk工具添加分区

根据上一步的结果,我们知道新加的硬盘名称为/dev/sdb, 因此我们可以直接使用fdisk给该硬盘进行分区。fdisk是Linux上一个类似于Windows上的磁盘管理器的工具,它简便易用,可以方便的进行硬盘分区。

[root@master ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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): 

输入m可查看提示,根据提示可知,输入n可以添加一个新分区。

[root@master ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
Partition number (2-4, default 2): 
First sector (10485760-41943039, default 10485760): 
Using default value 10485760
Last sector, +sectors or +size{K,M,G} (10485760-41943039, default 41943039): 
Using default value 41943039
Partition 2 of type Linux and of size 15 GiB is set

Command (m for help): 

输入n后,会有一个向导指引创建一个新分区,分为以下几步。
1. 选择分区类型,根据上面的信息可以看出,默认是 primary类型
2. 选择分区号,由于我已经创建了一个分区,因此它提示我输入2-4内的整数,当前默认为2,创建后的分区为/dev/sdb2。硬盘最多可以分为4个分区,这个跟MBR和扇区的知识有关系,大概是因为硬盘为分区表保留了64字节,而每个分区参数占16个字节,因此只能存4个分区表,但由于分区可以分为主分区和拓展分区,借助拓展分区,可以分4个以上的分区,可以把拓展分区想象成指向了一块新的硬盘。最新的电脑一般默认采用GPT分区表,几乎没有限制(128个),参考MBR和GPT表
3. 选择所创建分区的起始位置,推荐默认,因为这样可以从硬盘剩余空间的开头创建新分区。
4. 选择分区的终止扇区位置,只能输入提示范围内的整数值,这个需要进行简单的计算,由于我新增的硬盘为20G,而我希望新分区为5G,因此将最后一个扇区41943039除以4,再加上3步骤中的起始扇区位置即可。

上面四步结束后,新的分区已经创建成功,但该分区表目前还在内存中存储,并没有写入硬盘,需要输入w命令,将分区表写入,此时fdisk命令返回。

格式化新分区

新分区是没有任何格式的,因此操作系统无法进行读写,因此需要将新分区进行格式化。

查看新分区是否创建成功

[root@master ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 Oct 17 20:31 /dev/sda
brw-rw----. 1 root disk 8,  1 Oct 17 20:31 /dev/sda1
brw-rw----. 1 root disk 8,  2 Oct 17 20:31 /dev/sda2
brw-rw----. 1 root disk 8, 16 Oct 19 15:04 /dev/sdb
brw-rw----. 1 root disk 8, 17 Oct 19 15:04 /dev/sdb1

可以看到,已经有一个/dev/sdb1的设备了,现在进行格式化,centos系统下,格式化ext4的格式。

[root@master ~]# mkfs.ext4 /dev/sdb1

新分区已经格式化成功,下面可以挂载了。

挂载新分区

因为我使用的是httpd搭建的内网yum源,需要放置CDH的文件目录为/var/www/html/cdh,因此我需要将新分区挂载到该目录下.

[root@master ~]# mount /dev/sdb1 /var/www/html/cdh

已经挂载了5G大小的硬盘分区到该目录了,下面可以将CDH的包解压到该目录下了。

上一篇:解决js ajax跨越请求 Access control allow origin 异常


下一篇:开启Pix ASA 5520 snmp协议