Linux磁盘和磁盘分区、挂载
1. 给服务器添加一块硬盘
image.png注意:
如果你是IDE 接 口 硬 盘 :/dev/dh[a-z],这里的硬盘名字应该是dh[a-z]开头
如果你是SCSI 接 口 硬 盘 : / dev/[ a -z ],这里的硬盘名字应该是sd[a-z]开头,我们的新硬盘为sdb
2. 使用 df -h 查看电脑硬盘信息(并没有我们添加的硬盘)
image.png3. 使用 fdisk -l 查看电脑所有磁盘信息包括未加载磁盘
可以看到我们添加的10G磁盘存在,只是未加载,系统不能识别
image.png
4. 使用 lsblk 检查哪块磁盘为加载和分区
可以看到sdb大小为10G,只是一块磁盘(disk)并没有分区
image.png
5.用 fdisk 对这块硬盘分区(当硬盘小于等于2T时,用fdisk,大于2T时,用parted)
fdisk /dev/sdb
image.png
按 m 显示菜单(menu):
image.png选择 n (add a new partition,创建新分区)
image.png我们是第一次建立,没有主分区,所以选择p建立主分区
image.png接下来会让你选择分区号,因为主分区只有4个分区,我们选择默认1
image.png后面是开始扇区和结束扇区,开始扇区默认即可,结束扇区输入+分区大小
此时第一个分区已经建立,但还是在内存中并没有写到硬盘sdb中,所以直接输入w
***注意这里可以继续创建分区,完了再输入w,我这里只建立一个分区
image.png经过以上步骤后分区的建立已经完成,但是此时系统还无法识别分区表
6. 使用 partprobe 内核重新读取分区表
partprobe /dev/sdb
image.png
***注意:这里是整个磁盘sdb,不是磁盘分区sdb1
7.使用 mkfs 创建文件系统(格式化分区)
Linux 中的主流的文件系统有:ext4和xfsd等,这里我建立ext4文件系统.
mkfs.ext4 /dev/sdb1
(注意:这里是磁盘分区sdb1,不是整个磁盘sdb)
8.使用 mkdir 创建挂载目录
mkdir /mnt/sdb1_newdisk
在挂载之前你需要确定挂载的目录,我这里是/mnt/sdb1_newdisk,这里目录最好建立在/mnt下,这个目录是专门挂载的.
9.使用 mount 临时挂载目录
mount /dev/sdb1 /mnt/sdb1_newdisk/
image.png
这里已经挂载成功,但是这只是一次性的,重启后就会消失。
10.编辑 /etc/fstab 永久挂载目录
vim /etc/fstab
image.png
/etc/fstab每列含义如下
硬盘路径 文件路径(挂载点) 文件系统类型 设备的自定义选项 是否转存 fsck的顺序
/dev/mapper/CentOS-root / xfs defaults 0 0
我们要在最后一行写入自己的分区与文件路径,可以仿照上面的写
/dev/sdb1 /mnt/sdb1_newdisk ext4 defaults 0 0
转存:0 不转存,不备份 1转存,备份
fsck:开机检查磁盘的顺序 0表示不检查 1234....为检查顺序
这里第一列也可以写入UUID(使用 blkid 查询UUID)
image.png
11.使用 mount -a 判断加载是否正确
image.png如果没有其他信息出现,表示你插入的正确,否则错误。
如果错误且没有检查,开机后将进入紧急模式,无法开机
最后开机重启后df -h一下,看看是否正常
image.png
12.当硬盘大于2T时,使用 fdisk -l 会有WARING.
root@greatms-All-Series:/home/share# fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000aab9b
设备 启动 起点 终点 块数 Id 系统
/dev/sda1 * 2048 488282111 244140032 83 Linux
/dev/sda2 488284158 976771071 244243457 5 扩展
Partition 2 does not start on physical sector boundary.
/dev/sda5 488284160 820314111 166014976 83 Linux
/dev/sda6 820316160 976771071 78227456 82 Linux 交换 / Solaris
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
(/dev/sdb大于2T),上面警报说 fdisk不支持该分区,使用 parted 分区.
Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders, total 5860533168 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
设备 启动 起点 终点 块数 Id 系统
/dev/sdb1 1 4294967295 2147483647+ ee GPT(fdisk -l 显示有一个主分区,但其实是不存在的,可以使用mkfs.ext4 /dev/sdb1 测试,会报该分区不存在,找不到该分区)
Partition 1 does not start on physical sector boundary.
13. 使用 parted 分区大于2T的硬盘
parted /dev/sdb (用part命令对3T硬盘进行分区处理)
mklabel gpt (用gpt格式可以将3TB弄在一个分区里)
unit TB (设置单位为TB)
mkpart primary 0 3 (设置为一个主分区,大小为3TB,开始是0,结束是3)
mkpart primary 3 6 (再设置为一个主分区,大小为3TB,开始是3,结束是6)
print (显示设置的分区大小)
quit (退出parted程序)
将分区格式化为 ext4 格式
mkfs.ext4 /dev/sdb1
将硬盘挂载到文件夹下
1、手动挂载。
新建一个文件夹:mkdir /home/sdb1
挂载:mount /dev/sdb1 /home/sdb1
卸载:umount后面可以跟挂载磁盘或者挂载点(umount /dev/sdb1 & umount /home/sdb1)
2、开机自动挂载。
vi /etc/fstab
在最后加入:
/dev/sdb1 /home/sdb1 ext4 defaults 1 1