Linux 系统挂载数据盘

适用系统:Linux(Redhat , CentOS,Debian,Ubuntu)
Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作。
下面的操作将会把数据盘划分为一个分区来使用。

1、查看数据盘。在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。如下图:

友情提示:若您执行fdisk -l命令,发现没有 /dev/xvdb 标明您的云服务无数据盘,那么您无需进行挂载,此时该教程对您不适用。

2、对数据盘进行分区。执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区;根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。

注:有可能在格式化分区的时候报一下错误:Partition 1 is already defined. Delete it before re-adding it.

解决办法:
先删除,然后在格式化。

详细命令:

1
[root@iZ23tvhxkkjZ /]# fdisk -S 56 /dev/xvdb

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): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
Partition 1 is already defined.  Delete it before re-adding it.

Command (m for help): d
Selected partition 1

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)
p
Partition number (1-4): 1
First cylinder (1-4405, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-4405, default 4405): 
Using default value 4405

Command (m for help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@iZ23tvhxkkjZ /]#

3、查看新的分区。

使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了。

4、格式化新分区。

使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。(也可自主决定选用 ext4 格式)

5、被挂载目录文件备份

注意:挂载磁盘到某个目录下面的内容清除,所以在挂载磁盘前要备份被挂载目录的内容。
以var目录为例:

1
[root@iZ238dbmjaiZ /]# mkdir varbak
复制/var文件夹包括文件夹里的所有文件
[root@iZ238dbmjaiZ /]# cp -r /var /varbak
复制/var文件夹下所有文件,不包括文件夹
[root@iZ238dbmjaiZ /]# cp -Rf /var/* /varbak/

6、添加分区信息。

使用“echo ‘/dev/xvdb1 /var ext3 defaults 0 0’ >> /etc/fstab”(不含引号)命令写入新分区信息。
然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。

注:ubuntu12.04不支持barrier,所以正确写法是:echo ‘/dev/xvdb1 /var ext3 barrier=0 0 0’ >> /etc/fstab

如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,可以修改以上命令中的/var部分。

7、挂载新分区

使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。

8、被挂载目录文件恢复

拷回被挂载目录的内容。
以var目录为例:

1
复制/varbak文件夹下所有文件,不包括文件夹
[root@iZ238dbmjaiZ /]# cp -Rf /varbak/* /var/

附:
常用命令:

1
[root@iZ238dbmjaiZ /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G  2.0G   17G  11% /
tmpfs           3.9G     0  3.9G   0% /dev/shm

1
[root@iZ238dbmjaiZ /]# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/xvda1     1310720 83071 1227649    7% /
tmpfs          1007257     1 1007256    1% /dev/shm
1
[root@iZ238dbmjaiZ /]# fdisk -l

Disk /dev/xvda: 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: 0x00078f9c

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        2611    20970496   83  Linux

Disk /dev/xvdb: 53.7 GB, 53687091200 bytes
255 heads, 56 sectors/track, 7342 cylinders
Units = cylinders of 14280 * 512 = 7311360 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0478d339

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdb1               1        7342    52421852   83  Linux
[root@iZ238dbmjaiZ /]#