首页 > 代码库 > Linux 添加新硬盘

Linux 添加新硬盘

1.在 /dev/ 目录下找到新的硬盘,sda 为本地硬盘,sda1、sda2.. 为分区,sdb 就是新添加的硬盘,如:

[root@wusuyuan ~]# ls -ltr /dev/sd*
brw-rw----. 1 root disk 8,  0 11月 14 14:12 /dev/sda
brw-rw----. 1 root disk 8,  3 11月 14 14:12 /dev/sda3
brw-rw----. 1 root disk 8,  2 11月 14 14:12 /dev/sda2
brw-rw----. 1 root disk 8,  1 11月 14 14:12 /dev/sda1
brw-rw----. 1 root disk 8, 16 11月 14 14:12 /dev/sdb

学习的机器为虚拟机,与真实的物理机器略有不同,真实的物理机器根据硬盘接口类型(IDE、SATA、SCSI、光纤通道和SAS)可能为hda、sda或其它的名称。

2.使用管理员权限对新的硬盘 /dev/sdb 分区:

[root@wusuyuan ~]# 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 0xb7ee5a9d.
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): m   #### 查询帮助
Command action
   a   toggle a bootable flag 
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   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): n   ####创建新的分区
Command action
   e   extended
   p   primary partition (1-4)
e   ####选择分区类型(扩展分区、主分区)
Partition number (1-4): 1  ####分区数,这里分1个区
First cylinder (1-2610, default 1): 2610  ####这里输入分区大小,默认单位为mb
Command (m for help): p ####查看分区表信息
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x35b64cad
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2610        2610        8032+   5  Extended
Command (m for help): w ####写入分区信息,如果未确定或想取消,输入q退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

在写入分区信息时要仔细核对和确认,写入分区信息后不可再更改。 分区完成后,新的硬盘还是不能使用的,需要进行格式化。

3.使用mkfs进行格式化硬盘分区:

[sywu@wusuyuan ~]$ mkfs
Usage: mkfs [-V] [-t fstype] [fs-options] device [size]
 #-t 格式化分区类型,如 ext3、ext4
[root@wusuyuan ~]# mkfs -t ext4 /dev/sdb  #对分区进行格式化,类型为ext4
mke2fs 1.41.12 (17-May-2010)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
160 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
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 
完成
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

分区格式化完成后使用mount 命令装载新的分区:

[root@wusuyuan ~]# mount /dev/sdb /disk2 #装载分区 
[root@wusuyuan ~]# df -h  #查询分区
文件系统              容量  已用  可用 已用%% 挂载点
/dev/sda2              97G  9.9G   82G  11% /
tmpfs                 1.9G  200M  1.7G  11% /dev/shm
/dev/sda1             194M   52M  133M  28% /boot
/dev/sdb               20G  1.9G   17G  11% /disk2

4.配置新的分区自动装载:

#在/etc/fstab 中配置分区自动装载
[root@wusuyuan ~]# vim /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Sun Jan  5 08:17:56 2014
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=9c738ca5-810a-46ec-b896-57fc8286b2a5 /                       ext4    defaults        1 1
UUID=05b44d26-bd3a-4688-81e1-c83da70512a7 /boot                   ext4    defaults        1 2
UUID=7146f132-f77b-4a17-8686-d7c9c9be10ad 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
/dev/sdb                /disk2                 ext4     defaults        1 2 #加入新的分区信息

Linux 添加新硬盘