文件系统应用

一、加装磁盘

1.加装磁盘

确保linux能够识别 cd /dev (SCSI)sda sdb sdc . . .

2.给磁盘分区

fdisk -l /dev         查看所有分区

fdisk /dev/sdb        对sdb进行分区,默认是MBR分区

parted -s /dev/sdb mklabe gpt mkpart primary 0 100%        对sdb进行gpt分区

3.对分区进行格式化

mkfs 按两下tab显示所有文件格式  mkfs.ext4 /dev/sdb 建立文件格式为ext4

blkid /dev/sdb1 显示文件UID和格式

4.挂载磁盘

            mkdir /mnt1

            cd /mnt1

            mkdir mnt1-test

            cd ..

            mount  /dev/sdb1   /mnt1

df:查看挂载的磁盘 df -Th

du:查看文件的大小 -h(人类可读的方式) -s(汇总)

5.卸载磁盘  

umount /dev/sdb1

追加:partprobe重读分区表信息

二、实现nfs共享存储

1.在服务机上安装rpcbind 和nfs-utils

[root@ansible ~]# yum install rpcbind nfs-utils -y

2.进入etc文件夹

[root@ansible etc]# vim exports

3.修改配置文件

[root@ansible etc]# cat exports
/opt/test 192.168.10.0/24(rw,sync,no_root_squash)

192.168.10.0/24代表在192.168.10这个网段都可以访问到,rw指可读可写,sync表示同步,no_root_squash是指用户在客户端上拥有和服务器上相同的权限

4.创建共享文件夹

[root@ansible etc]# mkdir /opt/test

然后再这个文件夹中随便写一些文件以便验证效果

[root@ansible test]# vim a.txt

5.重启服务

[root@ansible test]# systemctl start rpcbind
[root@ansible test]# systemctl start nfs-server

6.在客户机上安装nfs-utils

[root@mysql ~]# yum install nfs-utils -y

7.创建客户机共享文件挂载点

[root@mysql ~]# mkdir mnt2

8.挂载服务机的共享文件

[root@mysql /]# mount -t nfs 192.168.10.136:/opt/test /mnt2

9.查看是否成功

[root@mysql /]# df -Th

文件系统                 类型      容量  已用  可用 已用% 挂载点
devtmpfs                 devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                    tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                    tmpfs     1.9G   12M  1.9G    1% /run
tmpfs                    tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root  xfs        46G  5.2G   40G   12% /
/dev/sda1                xfs      1014M  194M  821M   20% /boot
tmpfs                    tmpfs     378M     0  378M    0% /run/user/0
192.168.10.136:/opt/test nfs4       27G  2.7G   25G   10% /mnt2
10.验证可以在客户机创建文件实现同步

[root@mysql /]# touch /mnt2/b.txt

[root@mysql /]# cd /mnt2
[root@mysql mnt2]# ls
a.txt  b.txt
 

三、文件系统

文件夹也是文件,只不过里面保存的都是要放在这个文件夹里面的文件对应的目录项

文件系统如何读到文件

1.根据文件名通过目录项知道他的inode号

2.通过inode号找到inode table里的inode

3.通过inode里的block指针,找到对应的数据块

四、常见问题之,磁盘空间显示满了但是du查看文件占用情况没满

每个文件都维护两个引用计数

i_nlink     目录项引用计数,有目录项在使用对应文件时,i_nlink就不会为0

i_count        进程fd引用,有进程在使用对应文件时,i_count 不为0,当进程被杀死或者不在运行时,i_count 才会为0

所以对上述问题的解释就是:删除时没删干净,只删除了目录项,i_nlink 为0了,而进程还在运行,i_count不为0,所以磁盘空间没有被释放,只有将进程停掉后,文件占用的磁盘空间才会被释放掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值