首先需要在虚拟机中模拟添加一块新的硬盘设备,然后进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否添加成功。
下面是在虚拟机中添加一块硬盘设备的具体操作步骤。
首先将虚拟机系统关机,稍等几分钟会自动返回到虚拟机管理主界面,然后单击“编辑虚拟机设置”选项,在弹出的界面中单击“添加”按钮,新增一块硬件设备。
在虚拟机中模拟添加了硬盘设备后就可以看到抽象的硬盘设备文件了。按照前面讲解的udev服务命名规则,第二个被识别的SCSI设备会被保存为/dev/sdb,它就是硬盘设备文件。但在开始使用该硬盘设备文件之前还需要对其进行分区操作,如从中取出一个2GB大小的分区设备以供后续操作使用。
在Linux操作系统中,管理硬盘设备最常用的方法当属fdisk命令。fdisk命令用于管理磁盘分区,格式为【fdisk [磁盘名称]】,它提供了集添加、删除、转换分区等功能于一身的一式分区服务。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数(见表8-5)是交互式的,可以根据需求进行动态调整,因此在管理硬盘设备时特别方便。
参 数 |
作 用 |
m |
查看全部可用的参数 |
n |
添加新的分区 |
d |
删除某个分区信息 |
l |
列出所有可用的分区类型 |
t |
改变某个分区的类型 |
p |
查看分区信息 |
w |
保存并退出 |
q |
不保存直接退出 |
首先使用fdisk命令来尝试管理/dev/sdb硬盘设备。在看到提示信息后输入参数p来查看硬盘设备内已有的分区信息,其中包括硬盘的容量大小、扇区个数等,如图所示。
【fdisk /dev/sdb】
输入参数n尝试添加新的分区。系统会询问用户是选择继续输入参数p来创建主分区,还是输入参数e来创建扩展分区。在这里输入参数p来创建一个主分区,
在确认创建一个主分区后,系统会要求用户先输入主分区的编号。主分区的编号范围是1~4,因此,这里输入默认的1就可以了。接下来系统会提示定义起始的扇区位置,这一项不需要改动,按回车键保留默认设置即可,系统会自动计算出最靠前的空闲扇区的位置。最后,系统会要求定义分区的结束扇区位置,即定义整个分区的大小。不用计算扇区的个数,只需要输入+2G,即可创建一个容量为2GB的硬盘分区,
再次使用参数p来查看硬盘设备中的分区信息,就能看到一个名为/dev/sdb1、起始扇区位置为2048、结束扇区位置为4196351的主分区了。输入参数w后按回车键,保存并退出,
在上述步骤执行完毕之后,Linux操作系统会自动把此硬盘主分区抽象成/dev/sdb1设备文件。可以使用【file /dev/sdb1】命令查看该文件的属性,但是在工作中会发现,有些时候系统并没有自动把分区信息同步给Linux内核,并会提示“/dev/sdb1: cannot open (No such file or directory)”,而且这种情况比较常见(它算是一个小的bug)。用户可以输入【partprobe】命令手动将分区信息同步到Linux内核,一般推荐连续两次执行该命令,效果会更好。使用【file /dev/sdb1】命令,当提示“/dev/sdb1: block special”时,表示分区成功;如果仍无法解决问题,就需要重启计算机了。
接下来对硬盘进行格式化操作。在Linux操作系统中用于格式化操作的命令是mkfs。在Shell终端输入mkfs命令后再按两次用于补齐命令的Tab键,
在此,系统提示需要补齐的命令,例如,要格式化分区为XFS的文件系统,其命令如下:
【mkfs.xfs /dev/sdb1】
完成了硬盘的分区和格式化操作后,接下来就要挂载并使用硬盘了。首先创建一个用于挂载设备的挂载点目录;然后使用mount命令将硬盘分区与挂载点进行关联;最后使用【df -h】命令来查看挂载状态和硬盘使用量信息,如图8-13所示。
【mkdir /newFS】
【mount /dev/sdb1 /newFS/】
【df -h】
需要注意的是,使用mount命令挂载的设备文件会在系统重启后失效。如果想让这个设备文件的挂载永久有效,则需要把挂载信息写入/etc/fstab配置文件,在/etc/fstab配置文件中添加"/dev/sdb1 /newFS xfs defaults 0 0"内容。
【echo "/dev/sdb1 /newFS xfs defaults 0 0" >> /etc/fstab】
交换分区的创建过程与前文讲到的挂载并使用硬盘分区的过程非常相似。在对/dev/sdb硬盘进行分区操作前,有必要先说一下交换分区的划分建议:在生产环境中,交换分区的大小一般为真实物理内存的1.5~2倍,为了让读者更明显地感受到交换分区的变化,这里选取一个大小为5GB的主分区作为交换分区资源。在分区创建完毕后保存并退出即可。
【fdisk /dev/sdb】
使用SWAP分区专用的格式化命令mkswap,对新建的主分区进行格式化操作:
【mkswap /dev/sdb2】
使用swapon命令把准备好的SWAP分区设备正式挂载到系统中。可以使用【free -m】命令查看交换分区的大小变化,由3967MB(见图8-15)增加到9087MB
【swapon /dev/sdb2】
【free -m】
为了让新的交换分区设备在重启后依然生效,需要按照以下格式将相关信息写入/etc/fstab配置文件,在/etc/fstab配置文件中添加"/dev/sdb2 swap swap defaults 0 0"。
【echo "/dev/sdb2 swap swap defaults 0 0" >> /etc/fstab】
【swapoff /dev/sdb2】停止正在使用的swap分区。
【rm /dev/sdb2】删除swap分区文件。