linux系统管理(一)

磁盘分区及文件系统管理

1.设备类型

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

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

设备文件:FHS

设备文件位置:/dev

设备文件:关联至设备的驱动程序,用于识别设备的访问入口

设备号:

kajor:主设备号,区分设备类型,用于标明设备所需的驱动程序;

minor:次设备号,同种类型下的不同设备,是特定设备的访问入口;

mknod:创建块或字符设备文件

NAME
       mknod - make block or character special files
SYNOPSIS
       mknod [OPTION]... NAME TYPE [MAJOR MINOR]

例:mknod /dev/testdev c 111 1 创建设备类型为"c",主设备号为111,次设备号为1的设备文件;

mknod -m 创建设备文件访问权限位

2.磁盘分区

fdisk +dev 指定磁盘进行分区,fdisk所有操作都是在内存上执行的

例:fdisk /dev/sda 对sda进行分区操作

fdisk -l 查看磁盘分区信息

# fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000edc2e
   Device Boot      Start         End      Blocks   Id  System   --id为分区类型,主分区为83,扩展分区为5,swap分区为82
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648   104857599    52222976   83  Linux
Disk /dev/sdb: 68.7 GB, 68719476736 bytes, 134217728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
引用设备的方式:设备文件名(/dev/sdb2),卷标,UUID
磁盘的分区类型:MBR和GPT
MBR分区:master boot record
MBR:位于0sector零扇区中(1sector=512字节)
MBR由三部分组成:1.446byte:bootloader引导启动操作系统的程序
                                  2.64byte:用于存放分区表,每16个字节标识一个分区,一共只能有4个分区
                                  3.2byte:MBR区域的有效性标识,55AA为有效,否则为无效
注:扩展分区不在主分区表中,而是指向磁盘空间创建逻辑分区表
fdisk  +/dev/sd[a-z] 对磁盘进行分区操作,fdisk命令所有操作均在内存上搪行,直至使用w命令保存完成;

fdisk分区模式常用分区命令

   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition    删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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  修改分区类型id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit    分区操作保存退出
   x   extra functionality (experts only)

注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别,需使用partx -a 对分区进行识别
cat /proc/partitions查看内核所识别的所有分区

 通知内核强制重读磁盘分区表方法

partx -a device 对所有新增分区进行重读

kpart -af device 对新癗分区强制做映射

3.文件系统

创建分区表是在磁盘创建一个空间,而格式化是将磁盘空间划分为元数据区和数据区

分区格式化:低级格式化(分区之前进行,对磁道划分)、高级格式化(分区之后进行,创建文件系统)

磁盘分为:元数据区和数据区

元数据区 :存放元数据inode,inode位图索引和数据块位图索引

文件元数据:inode(index node)大小,权限,属主属组,时间戳,数据块指针(元数据不存放文件名,文件名是在目录中存放)

查找文件流程:从文件元数据中查到文件数据块指针才能读取到文件内容,数据块指针中保存着文件数据块的数量和位置,因此数据块指针的存放大小决定了可存储单个文件的大小;

数据区:是由多个数据块组成,一个文件数据根据大小分布在多个数据块中;

符号链接文件:存储数据块指针的空间当中存储的是访问路径

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

bitmap index:位图索引,用来记录inode和数据块使用情况,可以用来查看那些inode和数据块是空闲状态,其存储在元数据中

VFS:virtual file system

linux文件系统:ext2 ext3 ext4 xfs reiserfs btrfs

光盘系统:iso9660

网络文件系统:nfs,cifs

集群文件系统:gfs2,ocfs2

unix文件系统:UFS,FFS,JFS

swap文件系统:当内存空间不够时,将内存中最近不常用文件临时放置于磁盘空间,当该文件需要再使用时,再和内存中不常用的文件进行交换位置;

文件系统管理工具
创建文件系统的工具
mkfs
例:mkfs.ext2/ext3/xfs...
检测及修复文件系统
fsck:fs check
例 :fsck.ext2/xfs..
查看其属性的工具
dumpefs,tune2fs
调整文件系统特性
tune2fs
日志journal作用:创建文件时,先将元数据放入日志文件中,当文件存储完成后,再将元数据移回元数据区。方便文件写入时出现不正常中断后数据找回
链接文件:访问同一个文件不同的路径
硬链接文件:指向同一个inode我个文件路径
特性:1.目录不支持硬链接;
           2.硬链接不能跨文件系统;
           3.创建硬链接文件会增加inode引用计数;
创建硬链接
ln src link_file
符号软链接文件:指向一个文件路径的另一个文件路径
特性:
         1.符号链接与文件是两个各自独产的文件,各有自己的inode,对原文件创建符号链接不会增加引用计数;
         2.支持对目录创建符号链接,可以跨文件系统;
         3.删除符号链接文件不影响原文件,但是删除原文件,符号指定的路径即不存在,此时会变成无效链接;
         注:符号链接文件的大小是其指定的文件路径字符串的字节数;
        例:lrwxrwxrwx.   1 root root    8 Sep 26 19:49 sbin -> usr/sbin  也是sbin路径字符串的大小
创建软链接文件:
ln -s src ling_file
-v 显示过程
内核级文件系统
组成部分:文件系统驱动:由内核提供
                   文件系统管理工具:由用户空间的应用程序提供
cat /etc/issue 查看linux系统版本号
uname -r 查看linux内核版本
创建文件系统工具
mkfs 将分区格化对应格式的文件系统(ext2-ext4,xfs...)
mkfs -t =mkfs.ext4
ext系列文件系统专用管理工具:mke2fs
mke2fs -t 指明创建文件系统类型
mkfs -t ext4=mkfs.ext4=mke2fs -t ext4
mke2fs -b (1024/2048/4096)指明文件块大小
mke2fs -L 指明文件系统的卷标
mke2fs -j 创建有日志功能的文件系统ext3
mke2fs -i 指明多少个字节创建一个inode
mke2fs -N指明要给此文件系统创建的inode的数量
mke2fs -m指定预留空间,为百分比;
e2label:卷标查看与设定
查看:e2label device
设定:e2label device label
tune2fs:查看或修改ext系列文件系统的某些属性
注:块大小创建后不可修改
tune2fs device
tune2fs -l 查看指定分区超级块的信息(分区挂载之后无法查看)
修改指定文件系统的属性:
-j 将文件系统改为ext3
-L修改卷标
-m调整预留空间百分比
dumpe2fs显示ext系列文件系统的属性信息(分区挂载后无法查看)
dumpe2fs  device
blkid查看分区的文件系统类型
fsck用于实现文件系统检测工具
因进程意外中止或系统崩溃等原因导致操作非正常虚脱止时,可能会造成文件损坏,此时应该检测并修复文件系统,建议离线进
ext系列文件系统的专用工具
e2fsck -y对所有问题自动回答yes并执行检测
e2fsck -f 强制执行检测
fsck fstype指明检测的系统文件类型
fsck -t ext4=fsck.ext4
          -a无须交互而自动修复所有错误;
    -r 交互式修复
blkid device 查看对应设备的信息
   -L device 根据label定位设备
   -u UUID 根据UUID定位设备
xfs文件系统创建
创建mkfs.xfs
检测fsck.xfs
 
 

 

posted @ 2020-09-30 08:26  扬帆直上  阅读(266)  评论(0)    收藏  举报