今天,在整理图片时,发现根目录硬盘空间已经所剩无几了,而网站和所有相关文件主要放置在根下data目录(/data)里,但/home下是有空间,而又不想把文件放到/home下面去,只有再加一个新硬盘,对以后/data目录的文件管理也比较好。
那么就先关掉主机,再加上新硬盘(其它电脑使用过的500G硬盘),插上后再启动电脑。
接下来,就开始工作了:
1. 查看硬盘信息:
2. 针对sdb创建新硬盘分区:
先说明一下,fdisk 可以用 m 命令来看 fdisk 命令的内部命令:
a :命令指定启动分区
d :命令删除一个存在的分区
l :命令显示分区 ID 号的列表
m :查看 fdisk 命令帮助
n :命令创建一个新分区
p :命令显示分区列表
t :命令修改分区的类型 ID 号
w :命令是将对分区表的修改存盘让它发生作用
再次查看硬盘分区信息,将会看到所有分区已被删除:
在之前的命令列表上面看到,n代表创建新硬盘分区,那么接下我们输入n命令来创建新分区:
help 代表帮助,将会打印所有内部命令
select /dev/sdb 代表切换到硬盘sdb
print 代表打印分区文件系统类型
quit 代表退出
那么我们已经知道了sdb已被格式化为ext4,接下来就要挂载硬盘来目录了:
4. 最后一步就是实现开机自动挂载/dev/sdb1到/data1下:
编辑/etc/fstab文件,加入下面两行内容:
然后再用mount -a确定/etc/fstab设置没有错误,再用mount查看已挂载的设备:
那么就先关掉主机,再加上新硬盘(其它电脑使用过的500G硬盘),插上后再启动电脑。
接下来,就开始工作了:
1. 查看硬盘信息:
- feigo@figo:~$ sudo df -h
- 文件系统 容量 已用 可用 已用% 挂载点
- rootfs 102G 92G 4.7G 96% /
- udev 10M 0 10M 0% /dev
- tmpfs 799M 1.8M 798M 1% /run
- /dev/disk/by-uuid/3640f24a-4870-42e2-ae07-109cb9c35164 102G 92G 4.7G 96% /
- tmpfs 5.0M 0 5.0M 0% /run/lock
- tmpfs 4.6G 224K 4.6G 1% /run/shm
- /dev/sda7 92M 26M 62M 30% /boot
- /dev/sda9 201G 23G 169G 12% /home
我们可以看到有两个硬盘,sda和sdb,其中sda是目前使用中的硬盘,sdb是新加上去的硬盘。
- feigo@figo:~$ sudo fdisk -l
- Disk /dev/sdb: 500.1 GB, 500107862016 bytes
- 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x3f1e271a
- Device Boot Start End Blocks Id System
- /dev/sdb1 63 102414374 51207156 7 HPFS/NTFS/exFAT
- /dev/sdb2 102414375 976768064 437176845 f W95 Ext'd (LBA)
- /dev/sdb5 102414438 409625369 153605466 b W95 FAT32
- /dev/sdb6 409625433 716836364 153605466 b W95 FAT32
- /dev/sdb7 716836428 976768064 129965818+ 7 HPFS/NTFS/exFAT
- Disk /dev/sda: 500.1 GB, 500107862016 bytes
- 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0xc35aebd4
- Device Boot Start End Blocks Id System
- /dev/sda1 * 63 104872319 52436128+ 7 HPFS/NTFS/exFAT
- /dev/sda2 104872381 976771071 435949345+ f W95 Ext'd (LBA)
- /dev/sda5 104872383 231962534 63545076 7 HPFS/NTFS/exFAT
- /dev/sda6 231962598 300929579 34483491 b W95 FAT32
- /dev/sda7 300931072 301125631 97280 83 Linux
- /dev/sda8 301127680 517726207 108299264 83 Linux
- /dev/sda9 517728256 945461247 213866496 83 Linux
- /dev/sda10 945463296 976771071 15653888 82 Linux swap / Solaris
2. 针对sdb创建新硬盘分区:
先说明一下,fdisk 可以用 m 命令来看 fdisk 命令的内部命令:
a :命令指定启动分区
d :命令删除一个存在的分区
l :命令显示分区 ID 号的列表
m :查看 fdisk 命令帮助
n :命令创建一个新分区
p :命令显示分区列表
t :命令修改分区的类型 ID 号
w :命令是将对分区表的修改存盘让它发生作用
由于sdb硬盘上已经有几个分区,人们需要先删除这些分区:
- feigo@figo:~$ su
- 密码:
- root@figo:/home/feigo# fdisk /dev/sdb
- 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): d # 删除分区,依次输入数字
- Partition number (1-7): 7
- Command (m for help): d
- Partition number (1-6): 6
- Command (m for help): d
- Partition number (1-5): 5
- Command (m for help): d
- Partition number (1-5): 2
- Command (m for help): d
- Selected partition 1
- Command (m for help): w # 保存
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- Syncing disks.
再次查看硬盘分区信息,将会看到所有分区已被删除:
- root@figo:/home/feigo# fdisk -l
- Disk /dev/sdb: 500.1 GB, 500107862016 bytes
- 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x3f1e271a
- Device Boot Start End Blocks Id System
- Disk /dev/sda: 500.1 GB, 500107862016 bytes
- 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0xc35aebd4
- Device Boot Start End Blocks Id System
- /dev/sda1 * 63 104872319 52436128+ 7 HPFS/NTFS/exFAT
- /dev/sda2 104872381 976771071 435949345+ f W95 Ext'd (LBA)
- /dev/sda5 104872383 231962534 63545076 7 HPFS/NTFS/exFAT
- /dev/sda6 231962598 300929579 34483491 b W95 FAT32
- /dev/sda7 300931072 301125631 97280 83 Linux
- /dev/sda8 301127680 517726207 108299264 83 Linux
- /dev/sda9 517728256 945461247 213866496 83 Linux
- /dev/sda10 945463296 976771071 15653888 82 Linux swap / Solaris
在之前的命令列表上面看到,n代表创建新硬盘分区,那么接下我们输入n命令来创建新分区:
完成,再查看,已经发现多了一个sdb1的分区:
- root@figo:/home/feigo# fdisk /dev/sdb
- Command (m for help): n
- Partition type:
- p primary (0 primary, 0 extended, 4 free)
- e extended
- Select (default p): p
- Partition number (1-4, default 1): 1
- First sector (2048-976773167, default 2048):
- Using default value 2048
- Last sector, +sectors or +size{K,M,G} (2048-976773167, default 976773167):
- Using default value 976773167
- Command (m for help): w
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- Syncing disks.
3. 格式化分区为ext4:
- root@figo:/home/feigo# fdisk -l
- Disk /dev/sdb: 500.1 GB, 500107862016 bytes
- 81 heads, 63 sectors/track, 191411 cylinders, total 976773168 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x3f1e271a
- Device Boot Start End Blocks Id System
- /dev/sdb1 2048 976773167 488385560 83 Linux
- Disk /dev/sda: 500.1 GB, 500107862016 bytes
- 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0xc35aebd4
- Device Boot Start End Blocks Id System
- /dev/sda1 * 63 104872319 52436128+ 7 HPFS/NTFS/exFAT
- /dev/sda2 104872381 976771071 435949345+ f W95 Ext'd (LBA)
- /dev/sda5 104872383 231962534 63545076 7 HPFS/NTFS/exFAT
- /dev/sda6 231962598 300929579 34483491 b W95 FAT32
- /dev/sda7 300931072 301125631 97280 83 Linux
- /dev/sda8 301127680 517726207 108299264 83 Linux
- /dev/sda9 517728256 945461247 213866496 83 Linux
- /dev/sda10 945463296 976771071 15653888 82 Linux swap / Solaris
格式化完成,可以使用parted命令查看/dev/sdb的分区格式:
- root@figo:/home/feigo# mkfs.ext4 /dev/sdb1
- mke2fs 1.42.5 (29-Jul-2012)
- 文件系统标签=
- OS type: Linux
- 块大小=4096 (log=2)
- 分块大小=4096 (log=2)
- Stride=0 blocks, Stripe width=0 blocks
- 30531584 inodes, 122096390 blocks
- 6104819 blocks (5.00%) reserved for the super user
- 第一个数据块=0
- Maximum filesystem blocks=4294967296
- 3727 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, 11239424, 20480000, 23887872, 71663616, 78675968,
- 102400000
- Allocating group tables: 完成
- 正在写入inode表: 完成
- Creating journal (32768 blocks): 完成
- Writing superblocks and filesystem accounting information: 完成
其中上面parted的内部命令:
- root@figo:/home/feigo# parted
- GNU Parted 2.3
- Using /dev/sda
- Welcome to GNU Parted! Type 'help' to view a list of commands.
- (parted) help
- align-check TYPE N check partition N for TYPE(min|opt) alignment
- check NUMBER do a simple check on the file system
- cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
- help [COMMAND] print general help, or help on COMMAND
- mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
- mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER
- mkpart PART-TYPE [FS-TYPE] START END make a partition
- mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
- move NUMBER START END move partition NUMBER
- name NUMBER NAME name partition NUMBER as NAME
- print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
- quit exit program
- rescue START END rescue a lost partition near START and END
- resize NUMBER START END resize partition NUMBER and its file system
- rm NUMBER delete partition NUMBER
- select DEVICE choose the device to edit
- set NUMBER FLAG STATE change the FLAG on partition NUMBER
- toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
- unit UNIT set the default unit to UNIT
- version display the version number and copyright information of GNU Parted
- (parted) select /dev/sdb
- Using /dev/sdb
- (parted) print
- Model: ATA ST3500413AS (scsi)
- Disk /dev/sdb: 500GB
- Sector size (logical/physical): 512B/512B
- Partition Table: msdos
- Number Start End Size Type File system Flags
- 1 1049kB 500GB 500GB primary ext4
- (parted) quit
help 代表帮助,将会打印所有内部命令
select /dev/sdb 代表切换到硬盘sdb
print 代表打印分区文件系统类型
quit 代表退出
那么我们已经知道了sdb已被格式化为ext4,接下来就要挂载硬盘来目录了:
可以看到/dev/sdb1已经被挂载到/data1下了,剩余的工作就是迁移数据了。
- root@figo:/home/feigo# mkdir /data1
- root@figo:/home/feigo# mount /dev/sdb1 /data1
- root@figo:/home/feigo# df -Th
- 文件系统 类型 容量 已用 可用 已用% 挂载点
- rootfs rootfs 102G 93G 4.5G 96% /
- udev devtmpfs 10M 0 10M 0% /dev
- tmpfs tmpfs 799M 3.0M 796M 1% /run
- /dev/disk/by-uuid/3640f24a-4870-42e2-ae07-109cb9c35164 ext4 102G 93G 4.5G 96% /
- tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
- tmpfs tmpfs 4.6G 376K 4.6G 1% /run/shm
- /dev/sda7 ext4 92M 26M 62M 30% /boot
- /dev/sda9 ext4 201G 23G 169G 12% /home
- /dev/sdb1 ext4 459G 198M 435G 1% /data1
4. 最后一步就是实现开机自动挂载/dev/sdb1到/data1下:
编辑/etc/fstab文件,加入下面两行内容:
- root@figo:/home/feigo# vi /etc/fstab
- # load /dev/sdb1 to /data1 when the system startup
- /dev/sdb1 /data1 ext4 defaults 1 2
然后再用mount -a确定/etc/fstab设置没有错误,再用mount查看已挂载的设备:
- root@figo:/home/feigo# mount -a
- root@figo:/home/feigo# mount
- sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
- proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
- udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1020978,mode=755)
- devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
- tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=818060k,mode=755)
- /dev/disk/by-uuid/3640f24a-4870-42e2-ae07-109cb9c35164 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
- tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
- tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=4766880k)
- /dev/sda7 on /boot type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
- /dev/sda9 on /home type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
- rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
- binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
- /dev/sdb1 on /data1 type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)