如何在 Linux 机器上添加新磁盘驱动器


本文将帮助您配置和添加新磁盘到 Linux 系统。这是系统管理员如今遇到的最常见问题之一,因为服务器往往会耗尽磁盘空间来存储过多的数据。幸运的是,磁盘空间现在是最便宜的资源之一。我们将介绍在 Red Hat Enterprise Linux 6.x 上进行配置以通过安装磁盘添加更多空间的必要步骤。

目录

  • 已挂载的文件系统或逻辑卷
  • 入门
  • 在 RHEL 6 中查找新硬盘驱动器
  • 创建 Linux 分区
  • 在 RHEL 6 磁盘分区上创建文件系统
  • 挂载文件系统
  • 配置 RHEL 6 自动挂载文件系统

已挂载的文件系统或逻辑卷

一个最简单的方法是在新磁盘上创建一个 Linux 分区。在这些分区上创建 Linux 文件系统,然后将磁盘挂载到特定的挂载点,以便可以访问它们。

入门

本文假设新物理硬盘已安装在系统上,并且操作系统可以识别它。

在 RHEL 6.x 中查找新硬盘驱动器

假设驱动器对 BIOS 可见,操作系统应该会自动检测到它。通常,系统中的磁盘驱动器会被分配一个以 hd 或 sd 开头的设备名称,后面跟着一个字母表示设备号。例如,第一个设备可能是 /dev/sda,第二个是 /dev/sdb,依此类推。

以下是仅带有一个物理磁盘驱动器的系统的输出:

# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2

这表明磁盘驱动器由 /dev/sda 表示,它本身被分成 2 个分区,分别由 /dev/sda1 和 /dev/sda2 表示。如果我们连接第二个硬盘驱动器,则同一个系统的输出如下所示。

# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb

如上所示,新硬盘驱动器已被分配给设备文件 /dev/sdb。目前,驱动器没有显示任何分区(因为我们尚未创建任何分区)。

此时,我们可以选择在新驱动器上创建分区和文件系统并挂载它们以进行访问,或者将磁盘作为物理卷添加到卷组的一部分。

创建 Linux 分区

下一步是在新磁盘驱动器上创建一个或多个 Linux 分区。这是使用 **fdisk** 实用程序完成的,该实用程序将要分区的设备作为命令行参数。

# fdisk /dev/sdb
The Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xd1082b01.
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)
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):
As instructed, switch off DOS compatible mode and change the units to sectors by entering the c and u commands:
Command (m for help): c
DOS Compatibility flag is not set
Command (m for help): u
Changing display/entry units to sectors
In order to view the current partitions on the disk enter the p command:
Command (m for help): p
Disk /dev/sdb: 34.4 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 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: 0xd1082b01
Device Boot Start End Blocks Id System

从上面我们可以看到,磁盘的 **fdisk** 输出目前没有分区,因为它是一个以前未使用过的磁盘。下一步是在磁盘上创建一个新分区,该任务通过输入 **“n”**(表示新分区)和 **“p”**(表示主分区)来执行。

Command (m for help): n
Command action
   e    extended
   p    primary partition (1-4)
   p  
Partition number (1-4):

在此示例中,我们只计划创建一个分区,它将是分区 1。接下来,我们需要指定分区将从哪里开始和结束。由于这是第一个分区,我们需要从第一个可用扇区开始,并且因为我们想使用整个磁盘,所以在末尾指定最后一个扇区。请注意,如果要创建多个分区,可以通过扇区、字节、千字节或兆字节指定每个分区的尺寸。

Partition number (1-4): 1
First sector (2048-67108863, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-67108863, default 67108863):
Using default value 67108863
Now that we have specified the partition we need to write it to the disk using the w command:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

如果我们现在再次查看设备,我们会发现新分区显示为 /dev/sdb1

# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1

下一步是在新分区上创建一个文件系统。

在 RHEL 6.X 磁盘分区上创建文件系统

我们现在安装了一个新磁盘,它对 RHEL 6 可见,并且我们已在磁盘上配置了一个 Linux 分区。下一步是在分区上创建一个 Linux 文件系统,以便操作系统可以使用它来存储文件和数据。在分区上创建文件系统最简单的方法是使用 mkfs.ext4 实用程序,它将标签和分区设备作为参数。

# /sbin/mkfs.ext4 -L /backup /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=/backup
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2097152 inodes, 8388352 blocks
419417 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
256 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, 2654208,4096000, 7962624
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

此文件系统会在 36 次挂载或 180 天后自动检查,以先到者为准。使用 tune2fs -c 或 -i 覆盖。

挂载文件系统

现在我们已在新磁盘驱动器的 Linux 分区上创建了一个新文件系统,我们需要挂载它才能访问它。为此,我们需要创建一个挂载点。挂载点只是一个目录或文件夹,文件系统将被挂载到其中。出于本示例的目的,我们将创建一个 /backup 目录以匹配我们的文件系统标签(尽管这些值不需要匹配)。

# mkdir /backup

然后可以使用 mount 命令手动挂载文件系统。

# mount /dev/sdb1 /backup

运行没有参数的 mount 命令将显示我们当前所有已挂载的文件系统(包括我们的新文件系统)。

# mount
/dev/mapper/vg_rhel6-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sr0 on /media/RHEL_6.0 x86_64 Disc 1 type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500)
/dev/sdb1 on /backup type ext4 (rw) 

配置 RHEL 6 自动挂载文件系统

为了配置系统以便在引导时自动挂载新磁盘,我们需要在 /etc/fstab 文件中添加一个条目。

以下是示例配置文件,它显示了一个配置为自动挂载 /backup 分区的 fstab 文件。

/dev/mapper/vg_rhel6-lv_root /                               ext4    defaults    1 1
UUID=4a9886f5-9545-406a-a694-04a60b24df84 /boot                         ext4    defaults 1 2
/dev/mapper/vg_rhel6-lv_swap swap                            swap    defaults    0 0
tmpfs                   /dev/shm                      tmpfs    defaults          0 0
devpts                  /dev/pts                      devpts   gid=5,mode=620    0 0
sysfs                   /sys                          sysfs    defaults          0 0
proc                    /proc                         proc     defaults          0 0
LABEL=/backup           /backup                       ext4     defaults          1 2

经过此配置和演示,我们可以轻松地将新磁盘添加到现有的 Linux 机器,并在另一个驱动器上扩展备份存储空间。希望这些信息对您有所帮助!

更新于:2020年1月21日

10K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.