硬盘分区、格式化和挂载

MBR分区模式

主分区不能超过4个,拓展分区最多只能有1个,单个分区最大容量为2TB。

服务器添加硬盘后会显示在/dev目录下,但是我们此时还不能使用这个硬盘,必须对其进行分区格式化和挂载,硬盘分区使用fdisk(MBR分区工具)。我们为虚拟机添加了1个8G的硬盘,使用fdisk -l看到/dev/sdb上并没有可用的分区表,使用fdisk /dev/sdb即可进入分区模式(注意:如果添加的分区是拓展分区,一个硬盘上拓展分区的数量最多只能有一个,拓展分区不能直接使用,必须添加逻辑分区,方法是进入到分区模式,然后按n,按照提示为拓展分区添加逻辑分区)。因为逻辑分区在拓展分区内部,所以如果删除拓展分区,它下面的逻辑分区将一同删除。拓展分区的出现本身就是为了解决MBR中只能有4个主分区的问题。

GPT分区模式

主分区最多128个,分区的类型概念模糊了,单个分区的容量几乎没有限制(18EB,1EB=1024PB,1PB=1024TB),GPT的主分区中不太适合安装X86架构的系统。

GPT分区使用parted工具(MBR和GPT都支持)。

固态硬盘中4K对其非常重要,对硬盘的性能会产生很大影响,通常将一块硬盘的起始的0~1MB的空间牺牲掉用来做4K对其。

1
2
3
4
5
6
7
8
$ parted
$ select /dev/sdc # 选择我们新添加的硬盘
$ mklabel gpt # 指定分区类型为gpt,还有一种是msdos表示MBR分区
$ mkpart # 按照提示进下下一步操作即可,注意start和end表示从第XXXMB开始到XXXMB结束
$ mkpart part2 2000 3000 # 分区名 上一个分区的结束位置 本分区的结束位置
$ print # 第一列为分区编号
$ rm 3 # 删除第3个分区
$ unit GB # 使用GB为单位指定分区的开始和结束位置

fdisk工具需要输入w将分区信息更新写入,而gpt工具只需要分好之后退出即可

分区格式化

分区格式化使用mkfs

1
2
$ mkfs.ext4 /dev/sdb1 # 将/dev/sdb1格式化为ext4
$ mkfs -t ext3 /dev/sdb2

分区挂载

分区默认挂载目录是/mnt

1
2
3
$ mkdir -p /mnt/test
$ mount /dev/sdb1 /mnt/test
$ umount /mnt/test # 或者umount /dev/sdb1

通过mount命令挂载的分区在重启后会失效,需要将其写入到/etc/fstab中可以重启自动挂载。

1
2
$ vi + /etc/fstab # + 表示定位到最后一行,添加这样的一行即可
$ /dev/sdb1 /mnt/test ext3 defaults 0 0

为硬盘添加swap分区

首先建立普通分区

1
2
3
4
5
6
$ fdisk /dev/sdb
$ p
$ t # 选择分区编号,输入6(最后一个分区)
$ # 系统提示改变16进制编码(输入L可看到全部编码,可以发现83为普通linux分区,82为交换分区,输入82,w保存退出)
$ mkswap /dev/sdb6 # 格式化交换分区
$ swapon /dev/sdb6 # 启用交换分区

交换分区启用完成后可以使用free命令查看加载状况,还可以使用swapoff /dev/sdb6停用交换分区。

磁盘管理

1
2
$ du -h -s /tmp/ # 统计/tmp目录大小
$ du -sh *.js # 统计当前目录下js文件大小

密钥管理

1
2
# 上传公钥到服务器
cat ~/.ssh/id_rsa.pub | ssh devel@192.168.3.118 'cat >> .ssh/authorized_keys'