磁盘管理

linux的哲学思想:一切皆文件;

设备类型:

块(block):随机访问,交换数据单位是“块”;

字符(character):线性访问,数据交换单位是“字符”;

设备文件:FHS

/dev

    设备文件:关联至设备驱动程序;设备的访问入口;
    
    设备号:
    
    major:主设备号,区分设备类型;用于表明设备所需要的驱动程序;    
    minor:次设备号;区分同种类型下的不同设备;是特定设备访问入口;

mknod命令:

用法:mknod [选项]… 名称 类型 [主设备号 次设备号]

-m MODE :创建后的设备文件的访问权限;

磁盘:

IDE:/dev/hd[a-z] SCSI,SATA,USB,SAS:/dev/sd[a-z]

分区: /dev/sda#
/dev/sda1,… 注意:CentOS6,7统统将硬盘设备文件标识为/dev/sd[a-z]

引用设备的方式:

设备文件名

卷标

UUID

磁盘分区:MBR,GPT MBR:0 sector

Master Boot Record
    分为三部分        
        446bytes:bootloader,程序,引导启动操作系统的 程序:        64bytes:分区表,每16bytes表示一个分区,一共只能有4个分区        2bytes:MBR区域的有效性标识;55AA为有效:

主分区和扩展分区的标识1-4

逻辑分区标识5+

fdisk命令;

1.查看磁盘分区情况

fidsk -l 列出所有分区及其详细使用情况

2.管理分区

fdisk device #打开交互式界面

fdisk提供了一个交互是接口来管理分区,他有许多子命令,分别用于不同的管理功能;所有操作均在内存中完成,没有同步到磁盘;直到使用W命令保存至磁盘上

[root@centous1 yum.repos.d]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): mCommand action
   a   toggle a bootable flag
   b   edit bsd disklabel   c   toggle the dos compatibility flag   d   delete a partition
   l   list known partition types   m   print this menu   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

常用命令;

n;创建分区

d;删除已有分区

t;修改分区类型

l;查看所有已有ID

w;保存并退出

q;不保存并退出

m;查看帮助

p;显示现有分区信息

注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法识别

cat /proc/partitions 这个文件里显示了cpu所识别的所有分区列表

通知内核强制重读磁盘分区表: CentOS 5 :partprobe [device]

CentOS6,7: partx,kpart

partx -a [device]

kpartx -af [device]

注意重读命令有的时候需要执行两次

分区创建工具: parted,sfdisk;

创建文件系统

格式化:低级格式化(分区之前进行的,主要是用来划分磁道),高级格式化(分区之后对分区进行,创建文件系统)

元数据区,数据区 元数据区;inode 文件元数据:大小,权限,属主数组,时间戳、…

符号链接文件:存储数据指针的空间当中储存得事真实文件的访问路径;

设备文件:存储数据指针的空间当中储存的是设备号;

程序员编写程序的时候,需要按照系统上的文件系统来编写,但是系统上的文件系统众多,那样太影响效率,所以这时候有了一个中间件,VFS虚拟文件系统,它可以跟多种文件系统来匹配,而且对外只是一中接口。

linux的文件系统:ext2,ext3,ext4,xfs,relsers,btrfs

光盘:iso9660

网络文件系统:nfs,cifs

集群文件系统:gfs2,ocfs2

内核级分布式文件系统:ceph

windows的文件系统:vfat,ntfs

伪文件系统:proc,sysfs,tmpfs,hugepagefs

Unix的文件系统:UFS,FFS,JFS

交换文件系统:swap

用户空间的分布式文件系统:mogilefs,moosefs,glusterfs

文件系统管理工具:

创建文件系统的工具
    
    mkfs
        mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat,...
检测及修复文件系统的工具
    fsck
        fsck.ext2,fsck.ext3查看其属性的工具
    dumpe2fs,tune2fs
调整文件系统特性:
    tune2fs

链接文件:访问同一个文件不同路径:

硬链接:指向同一个inode的多个文件路径;
特性:
    (1)目录不支持硬链接(为了防止循环链接);
    (2)硬链接不能跨文件系统;
    (3)创建硬链接会增加inode引用计数
    
软连接:指向一个文件的另一个文件路径;
    特性:
    (1)符号链接与文件是两个人各自独立的文件,各有自己的inode
    (2)支持对目录创建符号链接,可以跨文件系统;
    (3)删除符号链接文件不影响源文件;但是删除源文件,符号指定的路径即不存在,此时会变成无效链接;

注意:软连接文件的大小时期制定的文件路径的大小

创建:

软连接 ln -s src link_file 硬链接 ln src link_file

内核级文件系统的组成部分:

文件系统驱动:有内核提供
文件系统管理工具:由用户空间的应用程序提供

如果想CentOS6支持xfs直接用yum install xfsprogs

ext系列文件系统专用工具:mke2fs

make2fs [option] device 
    
    -t {ext2|ext3|ext4}:指定文件系统类型    
    -b{1024|2048|4096}:指明块大小    
    -L :指明卷标    
    -j:创建有日志功能的文件系统ext3;    
    -N number :直接指明给此文件系统创建的inode的数量    
    -O[^]:来开启或者关闭某项功能    
    -m number :指定给root预留空间的比率

e2label:卷标的查看与设定

查看:e2label device
设定:e2label device LABEl

tune2fs:查看或者修改ext系列文件系统的某些属性(注意块大小创建后不可修改)

tune2fs -l:查看分区信息

tune2fs -j:修改指定文件系统属性ext2-->ext3

-m number :调整root预留空间大小-L:修改卷标-O选项同上-o[^]mount_options:开启或关闭某种默认挂载选项

dumpe2fs命令:显示ext系列文件系统的属性信息 dumpe2fs [-h] device

fsck:用于实现文件系统检测的工具

因进程意外中路或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统;建议,离线进行

ext系列文件系统的专用工具:

e2fsck [option] device
    
    -f:即使文件系统处于clean,也要强制进行检测;

fsck:check and repair a linux file linux

-t:指定文件系统类型;-r:交互式修复

blkid: blkid device blkid -L LABEl:根据LABEL定位设备 blkid -U UUid:根据UUId定位设备

swap文件系统:Linux上的交换分区必须使用独立的文件系统;且文件件系统的System ID必须为82;

创建swap设备:mkswap

-L:指明卷标-f:强制

windows无法识别linux的文件系统;因此,储蓄设备需要两种系统之间交叉使用时,应该使用windows和linux同事支持的文件系统:fat32(vfat);

mkfs.vfat device

mount命令:

mount [-nrw] [-t vfstype] [-o options] device dir

命令选项:

-r:readonly 只读挂载;-w:read and wirte ,读写挂载;-n:默认情况下,设备挂在或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;-t:指明要挂在的设备上的文件系统类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备文件系统类型;-L (LABEL):挂载时以卷标的方式指明设备;-U UUID :挂载时以UUID的方式指明设备;

-o options:挂载选项

sysnc/async:同步/异步操作;
atime/noatime:文件或者目录在被访问时是否更新其访问时间戳;
diratime/nodiratime:目录在被访问时是否更新其访问时间戳;

umount卸载命令

umount device |dir

注意:正在被进程访问到的挂载点无法被卸载;

查看被那个或哪些进程所占用:

lsof MOUNT_POINT
fuser -v MOUNT_POINT

终止所有正在访问mount挂载点的进程:

fuser -km MOUNT_POINT

交换分区的启用和禁用:

创建交换分区的命令:mkswap
启用:swapon
禁用:swapoff

设定除根文件系统以外的其他文件系统能够开机时自动挂载:/etc/fstab文件

每行定义一个要挂载的文件系统及相关属性:

6个字段:

(1)要股灾的设备:
    设备文件;
    LABEL
    UUID
    伪文件系统:如sysfs,proc,tmpfs等
(2)挂载点
    swap类型的设备的挂载点为swap;
(3)文件系统类型;
(4)挂载选项
    defaults:使用默认选项;
如果要同时指明多个挂载选项,彼此间以逗号隔开;
defaults,acl,noatime
(5)转储频率    0:从不备份;    1:每天备份;    2:每隔一天备份;
(6)自检次序    0:不自检    1:首先自检,通常只能是根文件系统可用1
    2:次级自检
    ...

mount -a : 可自动挂在定义在此文件中的所支持自动挂在的设备;

文件系统:

目录:文件
    元数据:inode,inode table
    数据:data blocks        下级目录或文件的文件名与其inode对应关系
        注意:文件不会储存自己的文件名文件名存在上局目录里边

删除文件:将文件指向的所有data block标记为未使用状态;将文件的inode标记为未使用;

移动和复制:

复制:新建文件;
移动文件:在同一文件系统,仅是其路径;不在同一文件系统:复制数据至目标文件,并删除源文件;

原创文章,作者:forest,如若转载,请注明出处:http://www.178linux.com/41123

(0)
forestforest
上一篇 2016-08-30
下一篇 2016-08-30

相关推荐

  • llinux常用命令及bash基本特性

    一、常用的文件和目录管理命令 1. pwd命令:用来显示当前的工作目录 语法格式:直接输入pwd回车显示当前的工作目录 示例:用pwd命令显示当前的工作目录 [root@suyiwen ~]# pwd /root 2. mkdir命令:用来创建目录文件 语法格式:mkdir [OPTION]… DIRECTORY…常用option: -m,用来指定目录的权限…

    Linux干货 2018-03-11
  • FHS文件系统下个各目录功能

    FHS文件系统下个各目录功能 FHS文件系统的建立是为了让开发者和用户可以预测软件安装文件和文件夹的位置。对整个linux的文件系统系统做了以下的规范:     /bin:命令二进制文件的存放目录;     /boot:系统启动时一些文件存放的目录,包含引导linux的重要文件,…

    Linux干货 2016-10-18
  • vim及脚本

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#。     第一步:     [root@localhost ~]# cp /etc/rc.d/rc.sy…

    Linux干货 2016-12-02
  • M22 使用光盘修复Centos实验初探

    实验目的: 服务器由于文件丢失等原因造成无法启动,可以使用光盘引导启动服务器,然后对服务器进行修复。 实验环境: VMware12安装Centos6.8虚拟机 Centos6.8的光盘镜像 实验原理: 手动删除虚拟机上的rpm程序文件,使用光盘镜像恢复安装rpm程序。 实验过程: 1、     执行命令删除rpm程序,…

    2017-03-06
  • DNS高级应用之ACL和View

    一、环境准备:     1、准备三台主机,要求如下      (1) DNS服务器双网卡:eth0:192.168.10.203  eth1: 172.16.2.10       (2)测试机1双网卡: eth0: 172.16.…

    Linux干货 2015-06-01
  • linux发展编年史

    1965年,Bell实验室、MIT、GE(通用电气公司)准备开发Multics系统    1969年,Ken Thompson(B->C语言)利用汇编语言开发了FIle Server System(Unics,即Unix的原型)     为游戏开发出最多…

    Linux干货 2016-10-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 13:28

    对磁盘管理工具用法总结的很完善,建议多操作,熟练运用。