学习笔记第十五节课
时间:2022-05-05 01:28
磁盘格式化
- 有了分区要格式化才能用。
- linux支持的文件系统可以用 cat /etc/filesystems 查看
- 查看一个分区的文件系统是什么 可以用mount 去查看(其他的不用注意,主要看/dev/开头的即可)
- swap 自己有自己的格式, 像/ /boot/ 都是xfs 格式。
- SentOS 6 往前的版本分别是 ext 4 . 3 . 2 . 这些都是之前的文件格式,和xfs差不多,格式化也可以用ext的文件格式。
- 格式化的命令是mke2fs 有几个常用的选项:
- -t 指定要格式化什么样的文件系统。
-
-b 指定块大小。(因为文件占用一个块,最小就是4KB 即使没那么大也会显示4Kb,一个文件没有写东西就不会占用一个数据块。显示就是0)
- 做个实验: 3.txt的大小为0 写入一些东西, 查看是2字节 用du 查看是4Kb
- du -sb 查看的话 也是精确显示。
- 做个实验,4096kb有点大,改为2048kb ,输入指令后发现不对。man一下看看。
- 发现这个命令没办法使用xfs
- 这个不行的话,可以用 mkfs. 来设置。
- 先把xfs放一边 先用ext4 来格式化一次试试(用mke2fs -t ext4 /dev/sdb1和mkfs.ext4 /dev/sdb1是一样的,都可以格式化,而且,即使分区已经格式化了,也可以再次格式化。)
- mke2fs没有办法运行xfs ,mkfs.是可以的。
- 实验一下,发现和mke2fs不一样的是,会有提醒,提醒你已经有文件系统了, 加-f (意思是强制的) 就会格式化分区了。
- 用mount去查看,发现还没有sdb1 因为还没有挂载到挂载点上。
- 如果想看一个还没有挂载的分区,可以用 blkid
- mke2fs -b +块大小 /dev/sdb1 可以指定块的大小,
-
- -m 指定分区预留空间的大小
- 觉得预留空间大,可以修改一下。(实验修改为%1)也可以更小,0.1
- 这里没有使用-t 也就是指定文件系统,所以默认的是ext2,但是ext2太老了,一般都用ext4(指定一下)
- 但是这里 xfs是不能用的,即使是刚才用的 mkfs. 的命令 也无法用xfs修改预留空间的大小,
- inode 在格式化分区的时候就生成了, 可以看到 在生成的时候,inode的值和 block的值 是一个1:4的关系,也就是 四个块对应一个inode的号。
- 如果觉得还是少,也可以修改对应的比例。
- -i选项可以指定多少个字节对应一个inode。默认是四个块。
- 做个实验,修改为两个块对应一个inode(可以看到里面的数值是1:2的比例)
- 最低是一个块对应一个inode 不能再小了。
- 总结: mke2fs -t -b -m -i 指定要格式化什么样的文件系统。 分别是指定块大小 。指定预留分区的大小。 指定多少个字节对应一个inode 。
磁盘挂载。
- 不管有没有分区都是可以格式化的,只有格式化才能挂载文件系统。 想访问就要挂载到一个挂载点上去。
- 做个实验:先把分区给删除掉,然后直接格式化。
- 提示有风险 加-f 强制执行, 格式化完成
- 用blkid查看文件系统。
- 挂载点其实就是一个目录 ,挂载的命令就是mount
- 格式很简单 mount +磁盘的分区+挂载点
- 做个实验,先临时挂载到mut下
- 然后 df -h 查看,多了一个磁盘(分区), mut就是挂载点。挂载点就相当于磁盘的入口 没有入口就没办法在磁盘写东西。
- 再去mount查看,就能看到这个磁盘的文件类型
- 也可以卸载磁盘, 进去mnt下, 里面什么都没有
- 创建点文件 和目录
- 这个时候去卸载 指令是 umount 发现卸载不了 提示忙,是因为你在这个磁盘里面, 退出这个磁盘 再输入umount 就i可以删除了。
- 其实在磁盘里面也是可以卸载掉的。
- 加一个-l 就可以。 l的意识是懒人,这个命令的意思就i是 懒得退i出去了,直接卸载掉。
- mount 有一些常用的选项
- 可以用man看一下。
- 这个下面就是挂载的选项
- 不加任何选项 就是defaults 下面的选项有rw, suid, dev, exec, auto, nouser, and async.
rw 可读可写
suid 允许这个分区里设置suid权限
exec 是否可执行。 加上no就不能执行了。
auto 自动挂载。
nouser 是否允许普通用户挂载它,
async 不会把内存里的东西随时写到磁盘上去,因为会增大磁盘压力。
- 看一个配置文件, vi /etc/fstab
- 这个文件很关键的,系统启动那个磁盘那个分区,都是在这个文件下配置的,(/ boot swap 都是在这个文件下配置的)
- 从左到右一共五列
- 第一列是设备的设备号
- 第二列是挂载点
- 第三列是分区格式
- 第四列是挂载选项 默认是defaults
- 第五列是是否备份。备份文件系统(早期还有用,现在没用了。) 最后一个是设置优先级,0是不检测,1 是根分区设置,2是其他的分区设置。
- 第一行可以写磁盘分区的名字 比如dev/sdb ,也可以写UUID。。。UUID可以用blkid查看。
- 做个实验: 挂载的时候可以用UUID ,
- 这样就挂载上了。
手动增加swap空间
- 没有必要搞很大的swap 现在服务器 sid 硬盘 很贵的,内存128G 2倍就是256G 太大了 浪费。
- 如果假设还是需要很大的内存,但是总不能从新安装系统,
- 有一种方法可以手动增加swap, 在文件系统里模拟一个磁盘,
- 做个实验:搞一个100M的小分区。
- 输入这个命令 dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
- dd是用来操作磁盘的 可以写可以读 if 指定从哪里读 /dev/zero 是linux里面的一个造零器。可以源源不断的产生零。 of 是指定这些零写到哪里去。bs 是块的大小。
- 查看一下 确实是100M
- 创建了新的磁盘肯定要格式化 swap是一个特殊的文件系统,要用mkswap 去格式化
- 格式化后 要去加载到swap上去, 先看一下,现在的swap空间是多大。
- 然后用swapon 去加载上去, 执行命令后,提示不安全,但是还是加载上去了。 多了100M
- 觉得不安全可以改一下权限。
- 不想用增加的虚拟磁盘了,卸载下来就用swpoff /tmp/newdisk