Linux之磁盘管理
一、linux目录结构
/ 根目录
——————————————————————————
/bin,/sbin 二进制可执行文件,操作系统自身运行就需要用到的程序
/usr/bin,/usr/sbin 二进制可执行文件,基本的系统工具
/usr/local/bin,/usr/local/sbin 二进制可执行文件,第三方程序
bin下存放的为普通用户程序,sbin下存放的是超级用户命令
——————————————————————————
/lib 标准程序设计库,向/bin,/sbin提供库支持
/usr/lib 标准程序设计库,向/usr/bin,/usr/sbin提供库支持
/usr/local/lib 标准程序设计库,向/usr/local/bin,/usr/local/sbin提供库支持
——————————————————————————
/etc 系统配置文件,程序的配置文件
——————————————————————————
/tmp 存放程序运行时所产生的临时文件的目录
/var 存放一些经常会发生变化的文件,给程序提供缓冲功能,如log、mail、cache等
/proc 虚拟目录,伪文件系统,系统内核的映像
/sys 虚拟目录,伪文件系统,系统的硬件信息
/media 通常用于临时挂载U盘或便携设备
/mnt 通常用于临时挂载第二块硬盘分区
/boot 引导目录,存放内核
/home/USERNAME,/root 用户的家目录
/dev 设备文件
二、文件系统格式
文件系统是属于内核的功能
windows:
Fat16、Fat32、NTFS等
Linux:
ext2、ext3、ext4、xfs、reiserfs、nfs、iso9600、jfs、brtfs等
——————————————————————————
对分区格式化的过程,就是创建文件系统的过程(这里描述的是高级格式化)
低级格式化是创建磁道的过程,使用与硬盘不匹配的工具低级格式化磁盘影响使用寿命
MBR扇区组成:Master Boot Record 512bytes:
446bytes:bootloader
64bytes:分区表,其中每16bytes标示一个分区,最多只能有4个主分区
2bytes:魔数,例如是否可以引导等信息
三、磁盘管理命令
---------------------------------------------------------------------
Linux创建分区的命令:
fdisk,sfdisk,part
最常用的命令,fdisk最多支持15个分区
分区时,第一个逻辑分区一定会从sda5开始,
---------------------------------------------------------------------
fdisk命令:
查看磁盘分区信息
fdisk –l [ DEVICE ] #在fdisk程序中可以使用p命令亦能实现
fdisk –l /dev/[hs]d[a-z] #可以使用globbing
fdisk [ DEVICE ]
常用交互式命令:
m:获得帮助
d:删除一个分区
n:新建一个分区
p:打印分区表
w:保存退出
q:不保存退出
l: 各分区类型所对应的System ID
a:设定可启动标记
t:修改指定分区的System ID
---------------------------------------------------------------------
新建分区后,查看内核识别的分区信息
cat /proc/partitions
RHEL5让内核重新读取硬盘分区表
partprobe [ DEVICE ]
如果提示: -bash: partprobe: command not found,则 yum install –y parted
RHEL6让内核重新读取硬盘分区表
partx [–a] [ PARTITION ] [DEVICE]
例如:partx –a /dev/sda4 /dev/sda
---------------------------------------------------------------------
mkfs命令:
mkfs –t fstype /dev/part :-t fstype 指定文件系统类型
以下命令执行效果相同:
mkfs –t ext4 = mkfs.ext4 = mke2fs –t ext4
mkfs –t ext3 = mkfs.ext3 = mke2fs –j = mke2fs –t ext3
mkfs –t ext2 = mkfs.ext2 = mke2fs
mkfs –t xfs = mkfs.xfs
mke2fs –t {ext2|ext3|ext4}
-b {1024|2048|4096}:块大小
块大小取决于CPU对内存页框大小的支持,x86系统默认页框大小为4K
-L label:设定卷标
-m #:预留给管理使用的块所占据总体空间的比例
-r #:预留给管理使用的块个数
-E:设定文件系统的扩展属性
blkid /dev/sda3 查看设备的uuid、文件系统类型及卷标
---------------------------------------------------------------------
tune2fs命令:
-l:显示文件系统超级块信息
-L:设定卷标
-m #:调整预留块
-r #:调整预留块的个数
-o:设定挂在默认选项
-O:设定文件系统的默认特性
-E:调整文件系统的扩展属性
---------------------------------------------------------------------
e2label命令:显示或设定卷标
e2label DEVICE [Volume_label]
查看其配置文件 /etc/mke2fs.conf
显示块大小
tune2fs –l DEVICE | grep “Block size”查看块大小信息
tune2fs –l DEVICE | grep “Reserved”查看预留信息
---------------------------------------------------------------------
dumpe2fs命令:
输出ext文件系统信息:
dumpe2fs [options] [DEVICE]
-h:显示超级块相关信息
---------------------------------------------------------------------
mount命令:查看当前系统挂载的所有设备
手动挂载:mount #需要开机自动挂载则需要修改配置文件/etc/fstab
mount [-t fstype] DEVICE MOUNT_POINT
mount [-t fstype] LABEL=”卷标” MOUNT_POINT
mount [-t fstype] UUID=”UUID" MOUNT_POINT
mount
-r:相当于“-o ro”,只读挂载
-n:挂在文件系统时,不更新/etc/mtab文件 cat /etc/mtab 查看内容 对比 mount
-o:用于指定挂在选项
常用挂载选项
ro:只读
rw:读写
noatime:关闭更新访问时间,包含了nodiratime #性能优化的重要手段之一
auto:是否能够由”mount -a”命令挂载
defaults:相当于rw,suid,dev,exec,auto,nouser,async,relatime
sync:同步写入
async:异步写入
dirsync:目录同步写入
dev:允许在这个文件系统上使用设备文件,对立的是nodev
exec:允许该系统文件上执行二进制程序,相对的有noexec
remount:重新挂载
mount –o remount,other_options DEVICE
loop:本地回环设备
mount –o loop,other_options DEVICE MOUNT_POINT #挂载本地回环设备
umount命令:卸载分区
umount DEVICE
umount MOUNT_POINT
挂载之后,挂载点原有数据会被隐藏,因此不能挂在到系统常用目录上
卸载之后,要确保没有进程正在访问挂载的设备,否则无法卸载
---------------------------------------------------------------------
fuser命令:
fuser [MOUNT_POINT]:查看正在访问某挂载点的进程
fuser –km [MOUNT_POINT]:强行杀死正在访问此挂载点的进程
---------------------------------------------------------------------
/etc/fstab:mount为手动挂载分区,如果需要开机自动挂载需要配置该文件
配置文件内容分为6段,分别为
1.挂载的设备:设备文件、UUID、卷标
2.挂载点
3.文件系统的类型
4.挂载类型:defaults表示使用默认选项,多个选项彼此间需逗号分隔
5.转储频率:0是从不备份;1是每日备份;2是每隔一天
6.自检顺序:0是不检测;1是第一个检测,一般只有根文件系统被第一个检测;2-9检测顺序依次类推
mount –a:配置好文件后,使用该命令,会自动挂载/etc/fstab 所有支持auto挂载选项的文件系统,当有多个分区需要挂载且支持auto选项时可以使用
---------------------------------------------------------------------
LInux的交换分区:swap
必须是独立分区,独立的文件系统
交换分区多大?
科学计算类的服务器:交换内存可以尽可能大,比如为物理内存的2倍
英勇程序类的服务器:交换内存尽可能的小,例如1G,
swap分区大小通用参考:
物理内存小于等于2G, swap=memory*2
2G<memory<4G,swap=memory*1.5
memory>4G,swap=4G
free命令:
-m:显示为MB
-g:显示为GB
buffers:缓冲一般用于写操作
cached:缓存一般用于读操作
使用fdisk命令添加了一个文件系统ID为82的swap分区/dev/sda4
此时需要使内核识别分区信息
RedHat5系列:partprobe
RedHat6系列:partx –a /dev/sda4 /dev/sda
swap相关命令:
然后创建交换分区
mkswap DEVICE
-L label
启用交换分区
swapon DEVICE:启用指定交换分区
swapon -a:启用所有交换分区
挂载成功,swap分区大小变为3G
禁用交换分区
swapoff DEVICE:
swapoff -a:
开机自动启用交换分区,可定义于/etc/fstab
DEVICE swap swap defaults 0 0 #交换分区的挂载点就是swap,文件系统类型也是swap
---------------------------------------------------------------------
关于linux文件系统及磁盘管理命令更详细的信息,可以查阅相关书籍或陈明乾的博客
注:下方图片从陈明乾的博客转载,他总结的真的很好!
点击图片放大
本文出自 “Arvin Lau” 博客,请务必保留此出处http://64314491.blog.51cto.com/2784219/1631119
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。