6.5 Linux添加硬盘设备

先来理清一下添加硬盘设备的 操作思路:首先需要在虚拟机中模拟添加入一块新的硬盘存储设备,然后再进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否成功添加。
鉴于我们不需要为了做这个实验而特意买一块真实的硬盘,而是通过虚拟机软件进行硬件模拟,因此这再次体现出了使用虚拟机软件的好处。具体的操作步骤如下。

6.5.1 fdisk 命令

Linux 系统中,管理硬盘设备最常用的方法就当属 fdisk 命令了。 fdisk 命令用于管理磁盘分区,格式为“fdisk [ 磁盘名称 ]”,它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数(见表 6-5)是交互式的,因此在管理硬盘设备时特别方便,可以根据需求动态调整。
我们首先使用 fdisk 命令来尝试管理 /dev/sdb 硬盘设备。在看到提示信息后输入参数 p 来查看硬盘设备内已有的分区信息,其中包括了硬盘的容量大小、扇区个数等信息:
输入参数 n 尝试添加新的分区。系统会要求您是选择继续输入参数 p 来创建主分区,还
是输入参数 e 来创建扩展分区。这里输入参数 p 来创建一个主分区:

在确认创建一个主分区后,系统要求您先输入主分区的编号。我们在前文得知,主分区的编号范围是 1 4 ,因此这里输入默认的 1 就可以了。接下来系统会提示定义起始的扇区位置,这不需要改动,我们敲击回车键保留默认设置即可,系统会自动计算出最靠前的空闲扇区的位置。最后,系统会要求定义分区的结束扇区位置,这其实就是要去定义整个分区的大小是多少。我们不用去计算扇区的个数,只需要输入+2G 即可创建出一个容量为 2GB 的硬盘分区。
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G
Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x1caf6abd

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
再次使用参数 p 来查看硬盘设备中的分区信息。果然就能看到一个名称为 /dev/sdb1 、起始扇区位置为 2048 、结束扇区位置为 4196351 的主分区了。这时候千万不要直接关闭窗口, 而应该敲击参数 w 后回车,这样分区信息才是真正的写入成功啦!
在上述步骤执行完毕之后, Linux 系统会自动把这个硬盘主分区抽象成 /dev/sdb1 设备文件。我们可以使用 file 命令查看该文件的属性,但是刘遄老师在讲课和工作中发现,有些时候系统并没有自动把分区信息同步给 Linux 内核,而且这种情况似乎还比较常见(但不能算作是严重的 bug )。我们可以输入 partprobe 命令手动将分区信息同步到内核,而且一般推荐连续两次执行该命令,效果会更好。如果使用这个命令都无法解决问题,那么就重启计算机吧!
[root@localhost ~]# file /dev/sdb1
/dev/sdb1: block special
如果硬件存储设备没有进行格式化,则 Linux 系统无法得知怎么在其上写入数据。因此,在对存储设备进行分区后还需要进行格式化操作。在 Linux 系统中用于格式化操作的命令是mkfs。这条命令很有意思,因为在 Shell 终端中输入 mkfs 名后再敲击两下用于补齐命令的 Tab 键,会有如下所示的效果:

例如要格式分区为 XFS 的文件系统,则命令应为 mkfs.xfs /dev/sdb1

完成了存储设备的分区和格式化操作,接下来就是要来挂载并使用存储设备了。与之相关的步骤也非常简单:首先是创建一个用于挂载设备的挂载点目录;然后使用 mount 命令将存储设备与挂载点进行关联;最后使用 df -h 命令来查看挂载状态和硬盘使用量信息。

[root@localhost ~]# mkdir /newfs
[root@localhost ~]# mount /dev/sdb1 /newfs/
[root@localhost ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        27G  2.9G   24G  11% /
devtmpfs              devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                 tmpfs     1.9G  140K  1.9G   1% /dev/shm
tmpfs                 tmpfs     1.9G  8.9M  1.9G   1% /run
tmpfs                 tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1             xfs       497M  119M  379M  24% /boot
/dev/sr0              iso9660   3.5G  3.5G     0 100% /run/media/root/RHEL-7.0 Server.x86_64
/dev/sdb1             xfs       2.0G   33M  2.0G   2% /newfs

6.5.2 du 命令

既然存储设备已经顺利挂载,接下来就可以尝试通过挂载点目录向存储设备中写入文件了。在写入文件之前,先介绍一个用于查看文件数据占用量的 du 命令,其格式为“ du [ 选项 ] [文件 ] ”。
简单来说,该命令就是用来查看一个或多个文件占用了多大的硬盘空间。我们还可以使用 du -sh /* 命令来查看在 Linux 系统根目录下所有一级目录分别占用的空间大小。下面,我们先从某些目录中复制过来一批文件,然后查看这些文件总共占用了多大的容量:
[root@localhost ~]# cp -rf /etc/* /newfs/
[root@localhost ~]# du -sh /newfs/
33M     /newfs/
[root@localhost ~]# du -sh /etc/
33M     /etc/
前面在讲解 mount 命令时提到,使用 mount 命令挂载的设备文件会在系统下一次重启的时候失效。如果想让这个设备文件的挂载永久有效,则需要把挂载的信息写入到配置文件中。
vim  /etc/fstab
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值