您的位置:首页 > 运维架构 > Linux

【Centos7笔记六】文件系统与磁盘操作

2017-07-07 10:06 253 查看
1. redhat文件系统结构
目录名称 应放置文件的内容
/boot 开机所需文件——内核,开机菜单及所需配置文件等
/dev 任何设备与接口都以文件形式存放在此目录
/etc 配置文件
/home 用户主目录
/bin 单用户维护模式下还能够被操作的命令
/lib 开机时用到的函数库及/bin与/sbin下面命令要调用的函数
/sbin 开机过程中需要的
/media 一般挂载或删除的设备
/opt 放置第三方的软件
/root 系统管理员的主文件夹
/srv 一些网络服务的数据目录
/tmp 任何人均可使用的“共享”临时目录
/proc 虚拟文件系统,例如系统内核,进程,外部设备及网络状态等
/usr/local 用户自行安装的软件
/usr/sbin 非系统开机时需要的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件。
/var 主要存放经常变化的文件,如日志。
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里

2. 设备命名规则:
系统内核的udev设备管理器会自动将硬件名称规范起来
udev服务会一直以守护进程的形式运行并侦听来自内核发出的信号来管理/dev目录下的设备文件
硬件设备 文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0(IDE设备)
分区:主分区或扩展分区的编号从1开始至4结束。
逻辑分区从编号5开始。
3. 硬盘基础知识
硬盘设备则是由大量的扇区组成的,其中第一个扇区最重要,它里面保存着主引导记录与分区表信息。单个扇区容量为512bytes组成,主引导记录需要占用446bytes,分区表的为64bytes,结束符占用2bytes,而其中每记录一个分区信息需要16bytes,这最多四个能有幸被写到第一个扇区中的分区信息就叫做主分区,扇区的信息写入如图6-3所示。
第6章 存储结构与磁盘划分。第6章 存储结构与磁盘划分。
一般会选择用3个主分区加1个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,

上图是2个主分区,2个扩展分区的做法

4. 文件系统:用户在硬件存储设备上面正常建立文件、写入,读取,修改,转存文件与控制文件等等操作都是依靠了文件系统来完成的,文件系统的作用是将硬盘合理的规划,保证用户正常的使用需求
Ext4 可以称为是Ext3的后继版本,作为RHEL6系统中的默认文件管理系统,它支持更大的文件系统到1EB(1EB=1,073,741,824GB且能够有无限多的子目录),另外Ext4文件系统能够批量分配block块并作"Extents"极大的提高了读写效率。
XFS 作为最新RHEL7中默认的文件管理系统,它的日志型文件管理系统的优势在意外宕机后尤其明显,可以快速的恢复可能被破坏的文件,另外经过优化后日志功能对硬盘性能影响非常小,同时最大支持18EB的存储容量满足了几乎所有需求。
一块新的硬盘存储设备之后首先要分区,然后格式化文件系统最后才能挂载正常的使用
###################*******************##############
日常中在硬盘要保存的数据实在太多了,因此就要有个叫super block的“硬盘地图”,并不是把数据直接写入到这个“大地图”里面,而是在上面记录着整个文件系统的信息,因为如果把所有的信息都写入到这里面的话,就一定会导致它的体积变的很大,查询与写入速度会变的很慢,于是每个文件的权限与属性都会记录在inode中(每个文件都会占用一个独立的inode表格,默认为128bytes),记录着:
该文件的访问权限(read,write,execute)
该文件的所属主与组(owner,group)
该文件的大小(size)
该文件的创建或状态修改时间(ctime)
该文件的最后一次访问时间(atime)
该文件的修改时间(mtime)
文件的特殊权限(SUID,SGID,SBIT)
该文件的真实数据地址(point)
而文件的实际数据内容则保存在block块中(大小可以是1K、2K或4K),一个inode大小仅为128bytes(Ext3),记录一个block消耗4bytes,一般当把inode写满后就会取出一个block用于号码记录而不再是保存实际的文件系统。下面的说明中,我们以4K为例。
情况一:文件体积很小(1K),那么依然会占用一个block,潜在的浪费3K。
情况二:文件体积很大(5K),那么会占用两个(5K-4K剩下的1K也要占用一个block)。

5. 挂载硬件设备
mount命令用于挂载文件系统,格式为:“mount 文件系统 挂载目录”。
参数 作用
-a 挂载所有在/etc/fstab中定义的文件系统
-t 指定文件系统的类型
将设备"/dev/sdb2"挂载到"/backup"目录:mount /dev/sdb2 /backup
如果您想让硬件设备和目录永久的进行自动关联,就必须将挂载信息按照指定的格式写入到/etc/fstab文件中。这个文件中包含着诸多挂载所需的信息项目,一旦配置好之后就会永久的为咱们服务啦
填写格式如下:“设备文件 挂载目录 格式类型 权限选项 自检 优先级”
设备文件:一般为设备的路径+设备名称,也可以写UUID值。
挂载目录:指定要挂载到的目录,需挂载前创建好。
格式类型:即指定文件系统的格式,比如有ext3/ext4/xfs/swap/iso9660(此为光盘设备)等等。
权限选项:默认为defaults(rw,suid,dev,exec,auto,nouser,async),可指定acl或quota等。
自检:若为1则开机后进行磁盘自检,0为不自检。
优先级:若“自检”为1,则可对多块硬盘进行优先级设置。

umount命令用于撤销已经挂载的设备文件,格式为:“umount [挂载点/设备文件]” :[root@linuxprobe ~]# umount /dev/sdb2

5. 操作硬盘(分区,格式化等)
5.1 fdisk命令用于管理磁盘分区,格式为:“fdisk [磁盘名称]”
参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区表信息
w 保存并退出
q 不保存直接退出
5.2 格式化:在Linux系统中用于格式化的是mkfs命令
[root@solitude ~]# mkfs // press TAB two times
mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs

5.3 du命令用于查看文件的数据占用量,格式为:“ du [选项] [文件]” :看一个或多个文件占用了多大的硬盘空间

5.4 df 命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息

5.4 新建的存储分区使用SWAP交换分区专用的格式化mkswap命令进行格式化操作:
[root@linuxprobe ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=2972f9cb-17f0-4113-84c6-c64b97c40c75
使用swapon命令将准备好的SWAP交换分区设备正式的挂载到系统中:
[root@linuxprobe ~]# swapon /dev/sdb2

6.对用户进行磁盘容量分配:
quota服务做磁盘配额可以限制用户的硬盘可用量或最大创建文件数量,并且还有软、硬限制的功能:

软限制:当达到软限制时会提示用户,但允许用户在规定额度内继续使用。

硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。
6.1 配置:开启quota服务
[root@linuxprobe ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 4 19:26:23 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults,uquota 1 2
6.2 xfs_quota命令用于管理XFS文件系统的quota硬盘配额,格式为:“quota [参数] 配额 文件系统”
用xfs_quota命令设置tom用户对/boot目录的磁盘配额吧,具体的限额控制包括有硬盘使用软限制为3M,硬盘使用硬限制为6M,创建文件数量软限制为3个,创建文件硬限制为6个。
[root@linuxprobe ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot
[root@linuxprobe ~]# xfs_quota -x -c report /boot
User quota on /boot (/dev/sda1) Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 95084 0 0 00 [--------]
tom 0 3072 6144 00 [--------]
6.3 edquota命令用于编辑用户的quota配额限制,格式为:“edquota [参数] [用户]”
其中-u参数代表要针对那个用户进行的设置,-g参数则代表要针对那个用户组进行的设置

7. 软硬方式连接
硬链接(hard link)可以被理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode与文件,所以实际上来讲硬链接文件与原始文件其实是同一个文件,只是名字不同。于是每添加一个硬链接,该文件的inode连接数就会增加1,直到该文件的inode连接数归0才是彻底删除。也就是说因为硬链接实际就是指向原文件inode的指针,即便原始文件被删除依然可以通过链接文件访问,但是由于技术的局限性而不能跨文件系统也不能链接目录文件。
软链接也称为符号链接(symbolic link)即“仅仅包含它所要链接文件的路径名”因此能做目录链接也可以跨越文件系统,但原始文件被删除后链接文件也将失效,性质上和Windows™系统中的“快捷方式”是一样的。
ln命令用于创建链接文件,格式为:“ln [选项] 目标”。
参数 作用
-s 创建"符号链接"(默认是硬链接)
-f 强制创建文件或目录的链接
-i 覆盖前先询问
-v 显示创建链接的过程
ln -s src.file dest.file
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos7 linux