什么是文件系统?
存储和组织计算机数据文件的机制
分区和格式化区别?
分区是给房子打隔断,分为厨房、卧室……,格式化相当于给房子装修,让其能够让数据住进去
文件系统: 组织和管理文件
格式化: 往分区中写入文件系统,产生一定数量的inode和block
操作系统将数据分为两个部分: 文件内容和文件属性
除了inode 和block,操作系统还有个superblock,这个超级快包括文件系统的inode和block的总量,已经使用的数量,剩余数量等(称之为metadata元数据)
超级快记录文件系统的元数据
linux支持哪些文件系统?
ReiserFs、ext2、ext3、ext4,xfs
centos6默认使用 ext4 文件系统
centos7 采用 xfs
centos5 采用 ext3
如何格式化系统
mkfs 格式化文件系统命令
-t 指定文件系统类型,有ext2, ext3, ext4,xfs,也可以通过 mkfs.ext4 方式指定文件系统
-b 指定一块block块大小,默认4096,4k,一般为1k,2k,3k,4k
-i 指定多大数据块就产生多少inode,假如给1024就说,每1024大小的block就有一个inode
mkfs -t ext4 /dev/sda1 # 在设备第一块盘,第一个分区写入ext4文件系统,但是还不能使用
文件系统类型选择
文件系统也是软件
SAS/SATA硬盘文件系统选择小结
reiserfs大量小文件业务首选reiserfs(100k以内)
xfs 有的门户的数据库MySQL业务会选择,centos7默认
ext4 视频下载,流媒体,数据库,小文件业务也ok,centos6默认文件系统
ext2 没有日志,联讯的cache业务,CDN网站加速服务
考虑海量服务器,考虑维护成本和性能,选一个折中
centos默认的文件系统都是比较优秀
xfs、reiserfs需要单独安装,多种文件系统维护可能不方便
网站前端增加缓存服务器(squid、varnish),存储数据库的前端增加缓存(memcache、redis)
如何制作文件系统?
看系统是否支持,如果支持,直接对应的命令格式化
find / -type d -name $(uname -r) # 查找内核目录
ll /lib/modules/2.6.32-642.el6.x86_64/kernel/fs/ # 查看系统支持的文件系统格式,并不代表软件已经装了
# 或者输入mkfs ,然后tab键按两下,下面显示都是已经安装好的文件系统类型
如何安装xfs文件系统?
yum install xfsprogs kmod-xfs xfsdump xfsprogs-devel # 下载文件系统下相关软件
modprobe xfs # 向内核智能的添加 xfs 模块
lsmod |grep xfs # 检查
dd if=/dev/zero of=/dev/sdb bs=1M count=100 # 创建一个文件,这个文件可以写入文件系统
mkfs.xfs /dev/sdb # 格式化这个文件,默认block为4096,inode大小为256
mount -t xfs -o loop /dev/sdb /mnt/ #挂载 由于是本地文件,需要添加 -o loop参数
df -h # 查看检查
mount 挂载设备,给设备一个入口
-t 指定挂载系统类型
mount -t ext4 /dev/sdb1 /mnt # 把设备 /dev/sdb1 挂载到 /mnt目录这个是临时挂载,把这个写入/etc/fstab文件中或者把这条命令写入/etc/rc.local文件中,都能实现开机自启动 umount /mnt # 取消目录 /mnt 上的挂载
umount -lf /mnt # 强制卸载
如何格式化swap分区?
mkswap -f /dev/sdb # 格式化swap分区,-f强制擦除 swapon /dev/sdb # 启动swap分区 swapoff /dev/sdb # 关闭swap分区
fsck 检查文件系统(e2fsck,也是文件系统检查工具)
fsck -C -f -t ext3 /dev/sda6 # 没坏的磁盘一定不要用,好的磁盘不要用,只有系统盘,其他不用
永久生效挂载: /etc/fstab 以及 /etc/mtab
vim /etc/fstab, 按格式写入
设备路径 挂载点 文件系统类型 挂载参数选项 是否备份 是否fsck检查
# 没坏的磁盘一定不要用,好的磁盘不要用,只有系统盘检查,其他不用
tunefs 修改文件系统信息
megacli 查看RAID信息
ipmitools 查看硬件信息工具
文件系统小结:
- 文件系统是存储和组织计算机数据文件的机制
- 分区必须通过格式化创建文件系统才能存放数据
- 一个分区只能有一种文件系统
- linux下常见ext2,ext3,ext4,而ext4是centos默认文件系统,centos7使用xfs文件系统