在本文中,我们将学习如何向Linux OS添加新的硬盘驱动器,假设该驱动器对于BIOS是可见的,则操作系统应该会自动检测到它。通常,系统中的磁盘驱动器被分配给以“ hd”或“ sd”开头的设备名称,后跟一个字母以表示设备编号。例如,第一个设备可能是/ dev / sda,第二个设备是/ dev / sdb,依此类推。
以下是只有一个物理磁盘驱动器的系统的输出。
# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb
这表明/ dev / sda表示的磁盘驱动器本身分为2个分区,分别由/ dev / sda1和/ dev / sda2表示。如上所示,新的硬盘驱动器已分配给设备文件/ dev / sdb。当前驱动器没有显示分区(因为我们尚未创建任何分区)。
至此,我们可以选择在新驱动器上创建分区和文件系统,并安装它们以进行访问或将磁盘作为物理卷添加为卷组的一部分。要执行前者,请继续本文。
下一步是在新磁盘驱动器上创建一个或多个Linux分区。这是通过使用fdisk实用程序实现的,该实用程序将要分区的设备用作命令行参数。
# fdisk /dev/sdb 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可以看到它,并且我们已经在磁盘上配置了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 This filesystem checks automatically after 36 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
现在,我们已经在新磁盘驱动器的Linux分区上创建了一个新文件系统,我们需要对其进行挂载,以便对其进行访问。为此,我们需要创建一个安装点。挂载点只是要将文件系统挂载到的目录或文件夹。就本示例而言,我们将创建一个/ data目录以匹配我们的文件系统标签(尽管这些值没有必要匹配):
# mkdir /data
然后可以使用mount命令手动挂载文件系统:
# mount /dev/sdb1 /data
运行不带参数的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 /data type ext4 (rw)
为了配置系统,以便在引导时自动挂载新磁盘,我们需要在/ etc / fstab文件中添加一个条目。
以下是示例配置文件,其中显示了一个fstab文件,该文件配置为自动挂载我们的/ backup分区:
/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 OS提供更多可用空间。