规范分类
由于查询中会涉及到多个“类型”,所以在这里明确一下文中的各种分类。
设备类型
- disk 磁盘
- part 分区
分区架构
- MBR
- GPT
分区类型
- primary partition 主分区
- extension partition 扩展分区(逻辑分区的容器)
- logical partition 逻辑分区
文件系统类型
- Linux:ext3、ext4、XFS、…(可以用
man 5 fs
来查看所有类型)- Windows:FAT16、FAT32、NTFS…
各类查询指令
##未分区时可见
fdisk -l ##磁盘及磁盘分区情况
lsblk ##设备类型及分区大小、挂载目录
cat /proc/partitions ##系统中可被识别的设备
##分区后可见
parted -l ##分区架构、分区类型、文件系统类型
##分区且挂在后可见
df -h ##挂载的文件(分区)容量使用情况及挂载目录
blkid ##挂载文件(分区)id、文件系统类型
1 扫描硬盘
##1.查看主机总线号
[root@node /]# ls /sys/class/scsi_host/
host0 host1
##2.重新扫描SCSI总线来添加设备
[root@node /]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@node /]# echo "- - -" > /sys/class/scsi_host/host1/scan
________________________
fdisk -l
2 分区
fdisk /dev/sdb ##在设备sdb中建立分区
##选项:
n ##建立分区
p/e/l ##选分区类型
1 ##分区序号
1024 ##开始扇区号(直接回车,默认接着扇区号继续分)
+1G ##分区大小(直接回车,默认剩余所有空间)
wq ##w表示保存q表示退出
3 初始化
mkfs.vfat /dev/sdb1 ##将分区sdb1文件系统类型初始化为vfat
mkfs.xfs /dev/sdb1 ##将分区sdb1文件系统类型初始化为xfs
mkfs.ext4 /dev/sdb1 ##将分区sdb1文件系统类型初始化为ext4
mkfs.xfs -K /dev/sdb1 ##-K是为了提升初始化速度,忽视磁盘中的空白区域快速初始化
4 挂载
4.1 准备空目录
mkdir /data ##在根目录下建立目录data
4.2 挂载
4.2.1 临时挂载
临时挂载即服务器重启后不会自动挂载
mount /dev/sdb1 /data ##将分区sdb1临时挂载到目录data
4.2.2 永久挂载
vim /etc/fstab
##在/etc/fstab中按以下格式编写
设备名称 挂载目录 文件系统类型 挂载参数 是否备份 是否检测
wq
mount -a ##在编写完成后不会马上生效,需要mount -a重新读取/etc/fstab文件
5 扩展
mkdir
新建的目录(未挂载前)默认存储分区是其上一级目录所挂载的分区。如果在未挂载前就进入来目录,挂在后必须退出重新进入该目录,不然使用的依旧是挂载前默认的上级目录所在的存储分区。
- 这会造成一个现象,如果你在一个目录中写入数据123,然后对该目录挂在存储,重新进入后由于该目录所在存储分区不一致,该目录里是没有之前写入的数据123的,但123并未丢失。把新挂载的分区卸载后就会重连回默认的上级分区,原数据123仍在。
- 所以挂载时要小心,挂载到原有目录,会导致该目录原数据找不到。