Linux运维第二阶段(六)文件系统管理
一、硬盘:
逻辑结构:扇区sectors(磁盘的最小存贮单位)、磁道、柱面cylinders;
硬盘大小:磁头数*柱面数*扇区数*每个扇区的大小
注:柱面数表示硬盘每一盘片有几条磁道,扇区数表示每条磁道上有几个扇区
二、文件系统:
》超级块(superblock)记录整个文件系统的信息,包括block与inode的总量,已经使用的,未使用的,文件系统的挂载时间,最近一次的写入时间,最近一次的磁盘检验时间;
》数据块(datablock)用来实际保存数据的,block块大小(1K、2K、4K)和数量在格式化后就已经决定,不能改变,除非重新格式化;文件数据如果小于一个block,则剩余空间不能被其它文件占用,文保存件数据若大于一个block,则占用多个block。windows中的磁盘碎片整理工具就是把一个文件占用的多个block尽量整理到一起,这样可以加快读写速度。
三、常用的磁盘管理命令
》#df -ahT (统计分区占用情况,统计分区的剩余空间是准确的)
-a (显示特殊文件系统,几乎都保存在内存中/proc所以占用量都是0)
-h (human-readable,K、M、G)
-T (多出文件系统类型一列)
》#du -a|-h|-s 目录或文件名 (统计文件大小是准确的)
-a (显示每个文件的磁盘占用量,默认只统计子目录的磁盘占用量)
-s (summary统计总占用量,而不列出子目录和子文件的占用量)
》#lsof | grep deleted (查看被删除的文件,然后一个一个进程 手工kill)
》#fsck -y /dev/sdb1 (自动修复,开机自动执行,与每个分区下的lost+found有关)
》#dumpe2fs /dev/sda2 (显示磁盘状态,可查看磁盘UUID等)
》#stat 文件名 (查看文件的详细时间)
》#file 文件名 (判断文件类型)
》#type 命令名 (判断命令类型)
四、fdisk 手工分区:
#fdisk -l (查看系统所有硬盘分区)
#fdisk /dev/sdb (进行磁盘分区)
command(mfor help):m/n/p/d/q/w (常用交互指令,分好后记得w保存)
#partprobe (执行此命令可不重启,强制重读所有分区文件,重新挂载分区)
#mkfs -t ext4 /dev/sdb1 (格式化,建立文件系统)
#mke2fs -t|-b|-i|-j|-L /dev/sdb1 (格式化,可调整分区默认参数)
-b (指定block大小)
-i (指定字节/inode的比例,多少个字节分配1个inode)
-j (建立带有ext3日志功能的文件系统)
-L (给文件系统设置卷标名,有此项就不用e2label设定了)
#mount /dev/sdb1 /disk1 (挂载)
#fdisk -l
#df
#vi /etc/fstab (慎重修改此文件,如有错误系统无法启动)
/dev/sdb1 /disk ext4 defaults 1 2 (以下依次为1到6)
1、设备文件名:此项也可使用UUID(universallyunique Identifier)通用唯一识别码,好处:当硬盘增加了新的分区或分区的顺序改变,内核升级仍能保证分区正确的加载,而不造成启动障碍;
#ll -l /dev/disk/by-uuid/ (查看磁盘UUID)
#dumpe2fs /dev/sdb1 (查看磁盘UUID)
2、挂载点
3、文件系统
4、挂载选项,例:defaults,acl或defaults,usrquota,grpquota
5、是否可备份,0不备份,1每天备份,2不定期备份
6、是否检测磁盘,0不检测,1启动时检测,2启动后检测
#mount -a (测试修改的/etc/fstab是否正确,重新挂载所有内容)
五、/etc/fstab文件修复:
输入root密码 -> #mount -o remount,rw / -> #vi /etc/fstab
六、parted命令分区:分区表两种:MBR和GPT
MBR(master bootrecord)主引导记录分区表,支持的最大分区2TB,最多支持4个主分区(3个主分区1个扩展分区)
GPT(GUIDpartition table)全局唯一标识分区表,支持的最大分区18EB(1EB=1024PB;1PB=1024TB),最多支持128个分区,其中1个系统保留分区,127个用户自定义分区
注:parted命令只能格式化为ext2,但可识别ext4,可在系统中格式化为ext4
#parted /dev/sdb
(parted)print/mklabel gpt/mkpart/mkfs/resize/rm (常用交互命令)
#parted -l (查看分区)
注:多分区时end为-1代表到磁盘的最后
七、分配swap分区
#fdisk /dev/sdc
command(m for help)t (修改分区系统的ID)
82 (82为swap分区,83为linux)
#mkswap /dev/sdc1 (格式化)
#swapon /dev/sdc1 (激活该分区的swap功能)
#swapoff /dev/sdc1 (关闭该分区的swap功能)
#free (查看内存状况)
开机自动挂载swap:
#vi /etc/fstab
/dev/sdc1 swap swap defaults 1 2