vps的硬盘扩容后的挂载探索
对新硬盘的分区,相对来说比较方便,因为不用担心原来的数据丢失等等问题,操作失败了,大不了重来,但是现在是对已经存在数据的硬盘,进行分区及挂载,所以必须得仔细,小心!
首先认识下几个命令符:
fdisk:对分区信息进行查看,以及对分区进行操作;
mkfs:对新分区进行格式化;
mount:这个就是对分区后的硬盘进行挂载,只有挂载到指定的目录后,才可以被正常使用。
接下来记录步骤:首先通过命令 “fdisk -l”查看所有的分区信息,显示如下:
root@MyVPS****:/dev# fdisk -l
Disk /dev/xvdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 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: 0x000d68a3
Device Boot Start End Blocks Id System
/dev/xvdb1 1 2610 20964793+ 83 Linux
Disk /dev/xvda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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: 0x0000aba6
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/xvda2 64 1306 9972736 8e Linux LVM
Disk /dev/mapper/vg_501153278-lv_root: 9135 MB, 9135194112 bytes
255 heads, 63 sectors/track, 1110 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: 0×00000000
Disk /dev/mapper/vg_501153278-lv_swap: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 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: 0×00000000
有点复杂,分析下里面有两个盘,分别是
Disk /dev/xvdb: 42.9 GB和Disk /dev/xvda: 10.7 GB
xvda是系统盘 不管他 看xvdb 显示是42.9gb 但是实际显示只有20gb
/dev/xvdb1 1 2610 20964793+ 83 Linux
这说明还有没挂载的,下面来操作这个过程,参考网络上的。
root@MyVPS2282:/dev# fdisk /dev/sdb
Command (m for help): n (n表示新创建新区,如果不知道命令如何使用,先打入m先查看帮助)
Command action
e extended
p primary partition (1-4)
(以上是让选择创建主分区还是扩展,我这里刚开始选择创建的是扩展分区,因为原来的30个G我创建的主分区,但是后面通过mkfs创建文件系统的时候会报错,所以这里我后来是删除了创建的扩展分区,重新选择创建主分区才成功)
p (选择创建主分区)
Partition number (1-4): 2 (通过命令fdisk -l例出来的分区信息可以看到,已经sdb已经分了第一个区sdb1,因而这里必须输入大于1的数字,否则系统会提示你输入的分区号已经存在,要求重新输入)
First cylinder (3917-7832, default 3917): (让选择是从磁盘的那个位置开始创建,这里可以不需要输入,直接回车即可,默认为从上个分区的结束位置开始)
Using default value 3917
Last cylinder, +cylinders or +size{K,M,G} (3917-7832, default 7832):(选择硬盘结束位置,如果不想再分其它区了,直接回车即可,默认为剩余的所有磁盘空间)
Using default value 7832
Command (m for help): w (保存分区信息并退出,下面是一些提示信息)
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
最后这一行的提示是说,需要重新启动系统,分区才可以生效,如果这个时候不重启系统,直接通过mkfs创建文件系统,系统会报错:
mke2fs 1.41.12 (17-May-2010)
mkfs.ext3: inode_size (128) * inodes_count (0) too big for a
filesystem with 0 blocks, specify higher inode_ratio (-i)
or lower inode count (-N).
那就乖乖的重启系统吧。
重启后,再通过:
mkfs -t exts /dev/sdb2
对新分区创建文件系统,分有如下提示:
ke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1966080 inodes, 7863817 blocks
393190 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
240 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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
到此,分区就创建成功了,这个需要只需要将其挂载到指定的目录即可:
mount /dev/sdb2 /aaa
当然为了能够在下次启动的时候,让其自动挂载,我们需要在分区表中加入如下信息:
/dev/sdb2 /aaa ext3 defaults 1 2
分区表的文件位于:/etc/fstab
通过df命令就可以看到我们挂载后的分区了,至此分区成功完成。