Linux磁盘涉及到的命令不是很多,但是在实际运维中的作用却很大,因为Linux系统及业务都会承载到硬盘上。如果磁盘使用和配置不合理,可能会引起系统无法启动或者业务系统无法提供预期的服务。
主要从以下几个方面来介绍:
1.分区介绍
2.创建分区
3.MBR&GPT
4.格式化&挂载(本章节)
5.inode&硬连接
6.磁盘操作命令
7.小结
本章就是把我们使用MBR和GPT分区创建的分区进行格式化及挂载
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part /
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sdc 8:32 0 3T 0 disk
└─sdc1 8:33 0 3T 0 part
sr0 11:0 1 942M 0 rom
在Windows里面我们格式化的时候,有2种文件系统:NTFS和FAT32。而在Linux系统里面目前用得最多的系统是ext4和xfs,这里我们有2块盘分别用不同的方式进行格式化。
1.格式化
[root@localhost ~]# mkfs.ext4 /dev/sdc1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608000 inodes, 786431488 blocks
39321574 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2933915648
24000 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, 214990848, 512000000, 550731776, 644972544
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2.挂载
前面说过,磁盘可以挂载到任何目录,但是系统自带的目录也开机的时候就配置好了,一般都不要去动他,这里我们就创建2个新目录进行挂载。有挂载也就有卸载,卸载使用的命令是umount.
[root@localhost ~]# mkdir /data /data1
[root@localhost ~]# mount /dev/sdb1 /data
[root@localhost ~]# mount /dev/sdc1 /data1
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part /
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part /data
sdc 8:32 0 3T 0 disk
└─sdc1 8:33 0 3T 0 part /data1
sr0 11:0 1 942M 0 rom
###[root@localhost ~]# umount /data1
3.配置fstab
如果挂载以后直接使用也没有问题,但是如果主动或者被动重启了系统,你会发现磁盘会被还原到未挂载的情况,那怎么实现开机自动挂载呢?这里就需要知道在Linux里面有下面这个一个文件,你的磁盘是否自动挂载都写到这里。
在刚刚挂载的时候,我们用的是直接用的是输入的设备地址,而下面配置文件写的是一串UUID,他们之间有什么区别呢?我如何知道每个盘的UUID呢?这里需要知道一个命令blkid,他会告诉你每个盘的UUID.
他们之间有什么区别呢?每个盘的UUID是不会变的,所以用UUID是可靠的,但是如果用设备名字,这个是可能出现问题的,比如原来有3个盘,其中一个盘坏了,他们的盘符是可能会发生变化的,如果变化了,就会出现你可能想不到的问题发生。
确认好怎么配置以后,参考上面的格式进行配置即可,配置完成以后最好重启以下,如果配置错误可以在还未开始应用的时候修复,避免正式使用以后遇到重启在引发的问题。
一个良好的运维习惯是需要养成的。
cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Jun 7 19:56:34 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=fb21e404-5ed7-400f-b936-ce2d8b631bfe / xfs defaults 0 0
UUID=15251c96-cf20-46c3-ac06-c5b86c4afe70 /boot xfs defaults 0 0
[root@localhost ~]# blkid
/dev/sda1: UUID="15251c96-cf20-46c3-ac06-c5b86c4afe70" TYPE="xfs"
/dev/sda2: UUID="fb21e404-5ed7-400f-b936-ce2d8b631bfe" TYPE="xfs"
/dev/sdb1: UUID="9fcb9c55-b38c-472e-b8b7-07db7b243e4f" TYPE="xfs"
/dev/sdc1: UUID="53e67bf0-fe14-4cd0-bcd9-8b9720e2360b" TYPE="ext4" PARTLABEL="primary" PARTUUID="cea97c50-59e7-4f79-9454-5b86fd67b7a0"
/dev/sr0: UUID="2019-09-11-19-02-53-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sdb1 /data ext4 defaults 0 0
UUID=53e67bf0-fe14-4cd0-bcd9-8b9720e2360b /data1 xfs defaults 0 0
关注微信公众号《运维小路》获取更多内容。