linux文件系统
- /dev/sda 设备之所以是a,不是由插槽决定的,是
由系统内核的识别顺序来决定
的,而很多主板的插槽顺序就是系统内核的识别顺序,因此才会把第一个插槽上的硬盘命名为/dev/sda 。 - sda3 中的3表示编号为3的分区,而不能判断sda设备上已经存在了3个分区 。
- hd
1 挂载硬盘
- 磁盘分区
fdisk /dev/sdb
- 格式化
#格式化分区为 xfs 文件格式
mkfs.xfs /dev/sdb1
#格式化分区为 swap交换分区
mkswap /dev/sdb1
- 挂载
mkdir /newFS
#挂载硬盘
mount /dev/sdb1 /newFS
#挂载交换分区
swapon /dev/sdb1
- 查看
df -h
du -sh /newFS
挂载所有在/etc/fstab中定义的文件系统
mount -a
卸载指定的硬盘
umount /dev/sdb
在/etc/fstab中定义添加将/dev/sdb1分区挂载到/newFS目录
/dev/sdb1 /newFS xfs defaults 0 0
lsblk (巧记:老是不离开)
df -lh 查看系统整体磁盘使用情况
[root@feng201 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 7.8G 28G 22% /
/dev/sda1 297M 133M 165M 45% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 991M 2.6M 922M 1% /mnt
df 查看指定目录的磁盘占用情况
du -h /目录
du -hc --max-depth=1 /目录
ls -l /etc/ | grep "^-" | wc -l
ls -l /etc/ | grep "^d" | wc -l
ls -lR /etc/ | grep "^d" | wc -l
创建一个RAID10
[root@michael ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sda /dev/sdb /dev/sdc /dev/sdd
[root@michael ~]# mkfs.ext4 /dev/md0
[root@michael ~]# mkdir /RAID
[root@michael ~]# mount /dev/md0 /RAID
[root@michael ~]# df -h
[root@michael ~]# adadm -D /dev/md0
[root@michael ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
2 Logical Volume Manager
-
挂载逻辑卷
1)让新添加的硬盘支持LVM技术
[root@michael ~]# pvcreate /dev/sdb /dev/sdc
2)将两块硬盘加入到storage卷组中
[root@michael ~]# vgcreate storage /dev/sdb /dev/sdc
3)查看卷组的状态
[root@michael ~]# vgdisplay
4)切割出一个约150MB的逻辑卷设备
[root@michael ~]# lvcreate -n vo -l 37 storage
[root@michael ~]# lvcreate -n vo -L 150M storage
5)
[root@michael ~]# lvdisplay
6)格式化,挂载(/dev/卷组名称/逻辑卷名称)
[root@michael ~]# mkfs.ext4 /dev/storage/vo
[root@michael ~]# mount /dev/sorage/vo /myLvm
7)查看挂载状态,并写入到配置文件使其永久生效
[root@michael ~]# df -h
[root@michael ~]# echo "/dev/storage/vo /myLvm ext4 defaults 0 0" >> /etc/fstab
-
扩容逻辑卷
1)
umount /myLvm
扩展至300MB
检查磁盘完整性,并重置硬盘容量
重新挂载硬盘设备并查看挂载状态 -
缩小逻辑卷
-
删除逻辑卷
3 /etc/fstab文件
/etc/fstab文件的作用
磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。
挂载的限制
1、根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的。
2、挂载点必须是已经存在的目录。
3、挂载点的指定可以任意,但必须遵守必要的系统目录架构原则
4、所有挂载点在同一时间只能被挂载一次
5、所有分区在同一时间只能挂在一次
6、若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。
/etc/fstab文件中的参数
[root@hadoop100 ~]# cat /etc/fstab
==========================================
# /etc/fstab
# Created by anaconda on Fri Jan 28 05:48:36 2022
#
# 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=4c90caf6-44e4-48fd-9ad3-8b815ad069ad / ext4 defaults 1 1
UUID=f46d7ed3-e3a4-4111-bd87-fb4a754d2139 /boot ext4 defaults 1 2
UUID=a6f57ca4-f414-43ee-a102-39e970fe4741 swap swap defaults 0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
看到/etc/fstab一共有六列:
第一列 Device
磁盘设备文件或者该设备的Label或者UUID
1)查看分区的label和uuid
Label就是分区的标签,在最初安装系统是填写的挂载点就是标签的名字。可以通过查看一个分区的superblock中的信息找到UUID和Label name。
例如我们要查看/dev/sda1这个设备的uuid和label name
[root@wpg u02]# dumpe2fs -h /dev/sda1
dumpe2fs 1.35 (28-Feb-2004)
Filesystem volume name: /boot //这个就是Label name
Last mounted on:
Filesystem UUID: 3b10fe13-def4-41b6-baae-9b4ef3b3616c //UUID
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options: (none)
Filesystem state: clean
简单点的方式我们可以通过下面这个命令来查看
[root@wpg u02]# blkid /dev/sda1
/dev/sda1: LABEL=“/boot” UUID=“3b10fe13-def4-41b6-baae-9b4ef3b3616c” SEC_TYPE=“ext3” TYPE=“ext2”
2)使用设备名和label及uuid作为标识的不同
使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。
不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。
至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。
第二列 Mount point
设备的挂载点,就是你要挂载到哪个目录下。
第三列 filesystem
磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列 parameters
文件系统的参数
Async/sync 设置是否为同步方式运行,默认为async
auto/noauto 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro 是否以以只读或者读写模式挂载
exec/noexec 限制此文件系统内是否能够进行"执行"的操作
user/nouser 是否允许用户使用mount命令挂载
suid/nosuid 是否允许SUID的存在
Usrquota 启动文件系统支持磁盘配额模式
Grpquota 启动文件系统对群组磁盘配额模式的支持
Defaults 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
第四列:能否被dump备份命令作用
dump是一个用来作为备份的命令。通常这个参数的值为0或者1
0 代表不要做dump备份
1 代表要每天进行dump的操作
2 代表不定日期的进行dump操作
第六列 是否检验扇区
开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
0 不要检验
1 最早检验(一般根目录会选择)
2 1级别检验完成之后进行检验