磁盘管理

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)
上一篇 2016-08-30 16:37
下一篇 2016-08-30 17:51

相关推荐

  • 计划任务&脚本进阶练习

    1、每天的2点和12点整,将/etc备份至/testdir/backup目录中,保存的文件名称格式为“etcbak-yyyy-mm-dd-HH.tar.xz” mkdir /testdir/backup vim /root/bin/etcbak.sh tar cvf /testdir/backup/etcbak-`date “+%F-%H”`.tar.xz …

    Linux干货 2017-03-26
  • 脚本及变量解析

    bash脚本编程 脚本文件格式: 第一行顶格:#!bin/bash  (shebang) 注释信息:以#开头 代码注释:好的程序员必备 适量的添加缩进或添加空白行以示分割 语言:编程语言格式:库,算法和数据结构 编程思想:      能够把学到的编程语言的语法格式随时转换为解决问题的思路     &…

    Linux干货 2016-08-12
  • 730作业

    1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 [root@local ~]# cat /etc/issue |tr "[[:lower:]]" "[[:upper:]]" > /tmp/i…

    Linux干货 2016-08-02
  • 生产环境日志审计

         日志审计,就是记录所有系统和相关用户行为的信息,并且可以自动分析,处理。在中小企业环境中,一般都是在单个服务器上记录日志,而大型企业的生产环境当中,会有专门的日志服务器乃至集群。本文通过sudo配合centos自带的rsyslog(syslog)服务,进行日志审计。    &nb…

    Linux干货 2016-10-20
  • 计算机网络基础

    1、OSI, TCP/IP, 五层协议的体系结构, 以及各层协议 OSI分层(7层): 物理层, 数据链路层, 网络层, 传输层, 会话层, 表示层, 应用层 TCP/IP分层(4层): 网络接口层, 网际层, 传输层, 应用层 五层协议(5层): 物理层, 数据链路层, 网络层, 运输层, 应用层 每一层的协议: 物理层: RJ45, CLOCK, IEE…

    Linux干货 2016-09-19
  • test2

    欢迎使用马克飞象 作业帮 示例笔记本 马克飞象 帮助 Markdown 马克飞象是一款专为印象笔记(Evernote)打造的Markdown编辑器,通过精心的设计与技术实现,配合印象笔记强大的存储和同步功能,带来前所未有的书写体验。特点概述: 功能丰富 :支持高亮代码块、LaTeX 公式、流程图,本地图片以及…

    Linux干货 2017-03-20

评论列表(1条)

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

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