磁盘管理、文件系统、挂载

磁盘管理

一磁盘分区

磁盘分区有两种方式:MBR和GPT

MBR:1)按照柱面进行分区;分区不超过2T

2)关于0磁道0扇区的前512bytes;其中的446bytes为boot loader;中间的64bytes装有分区表;2bytes为55AA

3)可分4个分区;3个主分区+1扩展(N个逻辑分区)扩展分区最多一个。

GPT分区:1)GUID patition table  支持128个 个 分区,使用64 位,支持 持8Z(512Byte/block)64Z (4096Byte/block)。

2)使用128 位UUID 区 表示磁盘和分区 GPT 分区表自动备份在头和尾两份,并有CRC 校验位。

二管理分区

1查看分区的命令

查看磁盘分区情况:(1)lsblk (2)ll /dev/sd* (3)cat /proc/partitions

2创建分区的命令

fdisk 管理MBR分区:fdisk /dev/sdb————centos6上

gdisk 管理DPT分区:  gdisl /dev/sdb————centos7上

fdisk和gdisk是交互式的。parted 是非交互式的,具有危险性。

子命令:

 p  分区列表

 t  更改分区类型

 n  创建新分区

 d  删除分区

 w  保存并退出

 q  不保存退出

 parted 的操作都是实时生效的,小心使用

用法:parted [ 选项]… [备 设备 [令 命令 [ 参数]…]…]

parted /dev/sdb mklabel gpt|msdos

parted /dev/sdb print

parted /dev/sdb mkpart primary 1 200

parted /dev/sdb rm 1

parted -l

3分区的同步命令

centos6上

part  -a  /dev/sda  增加分区同步命令

partx  -d  -nr  7-8  /dev/sda  删除7-8磁盘分区

centos7上

partprobe 可以实现增删分区的同步.

 

文件系统

1、介绍

文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等。

 2、文件系统的类型

Linux 文件系统: ext2, ext3, ext4, xfs (SGI ), btrfs( (

Oracle ), reiserfs, jfs (AIX ), swap

swap:  交换分区

光盘:iso9660

Windows :fat32, ntfs

Unix: FFS (fast ), UFS (unix ), JFS2

网络文件系统:NFS, CIFS

集群文件系统:GFS2, OCFS2 (oracle) )

分布式文件系统:ceph, moosefs, mogilefs, glusterfs,Lustre

vRAW :未经处理或者未经格式化产生的文件系统

3、文件系统的创建

一般类的创建

mkfs 命令:

(1) # mkfs.FS_TYPE /dev/DEVICE

ext4

xfs

btrfs

vfat

(2) # mkfs -t FS_TYPE /dev/DEVICE

-L 'LABEL': 设定卷标

创建ext 文件系统

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

-t {ext2|ext3|ext4}

-b {1024|2048|4096}

-L 'LABEL'

-j: 于 相当于 -t ext3

mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

-i #:  为数据空间中每多少个字节创建一个inode ;此大

小不应该小于block 的大小

-N # :为数据空间创建个多少个inode

-m #:  默认5%, 为管理人员预留空间占总空间的百分比

-O FEATURE[,…] :启用指定特性

-O ^FEATURE :关闭指定特性

parted命令

parted /dev/sdb mklabel  msdos 将盘做成mbr格式

parted /dev/sdb mklabel  gpt  将盘做成gpt格式

parted /dev/sdb mkpart primary 1 1024 在/dev/sdb上创建1G的分区

parted /dev/sdb rm 3删除第三个分区

 

4、调整类命令

blkid :块设备属性信息查看

blkid [OPTION]… [DEVICE]

-U UUID:  根据指定的UUID 来查找对应的设备

-L LABEL :根据指定的LABEL 来查找对应的设备

e2label :管理ext 系列文件系统的LABEL

# e2label DEVICE [LABEL]

findfs  :查找分区

findfs [options] LABEL=<label>

findfs [options] UUID=<uuid>

tune2fs :重新设定ext 系列文件系统可调整参数的值

-l :查看指定文件系统超级块信息;super block

-L 'LABEL' :修改卷标

-m # :修预留给管理员的空间百分比

-j:  将ext2 升级为ext3

-O:  文件系统属性启用或禁用, –O ^has_journal

-o:  调整文件系统的默认挂载选项,–o ^acl

-U UUID:  修改UUID 号;

dumpe2fs:-h :查看超级块信息(分组信息),分区用分组管理

5、文件系统修复

常发生于死机或者非正常关机之后

挂载为文件系统标记为“dirty” ”

fsck: File System Check

fsck.FS_TYPE

fsck -t FS_TYPE

-a:  自动修复错误

-r:  交互式修复错误

    注意: FS_TYPE 一定要与分区上已经文件类型相同;

e2fsck :ext 系列文件专用的检测修复工具

-y:自动回答为yes

-f:强制修复

挂载

1、介绍

  挂载: 将额外文件系统与根文件系统某现存的目录建立起关联

关系,进而使得此目录做为其它文件访问入口的行为

 卸载:为 为 解除此关联关系的 过程

 把设备关联挂载点:mount Point

  mount

   卸载时:可使用设备,也可以使用挂载点

  umount

   挂载点下原有文件在挂载完成后会被临时隐藏

格式化文件系统:使用最稳定的系统

xfs支持的文件系统大小500TB

ext4支持的文件系统大小50TB

mke2fs只支持ext系列

2、挂载命令

挂载方法:mount DEVICE MOUNT_POINT

mount :通过查看/etc/mtab 文件显示当前已挂载的所有设备

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

device :指明要挂载的设备;

(1)  设备文件:例如/dev/sda5

(2)  卷标:-L 'LABEL', 如 例如 -L 'MYDATA'

(3) UUID, -U 'UUID'如 :例如 -U '0c50523c-43f1-

45e7-85c0-a126711d406e'

(4)  伪文件系统名称:proc, sysfs, devtmpfs, configfs

dir :挂载点

事先存在;建议使用空目录

进程正在使用中的设备无法被卸载

mount 常用命令选项

  -t vsftype :指定要挂载的设备上的文件系统类型

  -r: readonly ,只读挂载

   -w: read and write,  读写挂载

   -n: 不更新/etc/mtab ,相当于#mount

  -a :自动挂载所有支持自动挂载的设备( 定义在了/etc/fstab

文件中,且挂载选项中有auto 功能)

   -L 'LABEL':  以卷标指定挂载设备

   -U 'UUID':  以UUID 指定要挂载的设备

   -B, –bind:  绑定目录到另一个目录上

   查看内核追踪到的已挂载的所有设备:cat /proc/mounts

 -o options :( 挂载文件系统的选项) ,多个选项使用逗号分隔

async :异步模式

sync :同步模式, 内存更改时,同时写磁盘

atime/noatime :包含目录和文件

diratime/nodiratime :目录的访问时间戳

auto/noauto :是否支持自动挂载, 是否支持-a 选项

exec/noexec :是否支持将文件系统上运行应用程序

dev/nodev :是否支持在此文件系统上使用设备文件

suid/nosuid :不否支持suid 和sgid 权限

remount :重新挂载

ro :只读

rw: : 读写

user/nouser :是否允许普通用户挂载此设备,默认管理员才能挂载

acl :启用此文件系统上的acl 功能

 Defaults :相当于rw, suid, dev, exec, auto, nouser, async

给分区的系统添加acl权限的命令

(1)tune2fs  -o  acl  /dev/sdb6

(2)mount  -o acl  /dev/sdb6

3、卸载

查看挂载情况:

#findmnt MOUNT_POINT

查看正在访问指定文件系统的进程:

#lsof MOUNT_POINT

#fuser -v MOUNT_POINT

终止所有在正访问指定的文件系统的进程:

# fuser -km MOUNT_POINT

卸载:

# umount DEVICE

# umount MOUNT_POINT

课题的一些其他命令

1、dd if=/dev/zero of=/dev/sdb bs=1 count=446

dd if=/dev/zero of=/dev/sdb bs=1 count=64  skip=446 seek=446

uuidgen 可以生成guid

yum  install  autofs 安装后使用systemctl  start  autofs启动

2、查看二进制文件的命令

hexdump -C -n 512 /dev/sda 查看前512字节的二进制文件

 图片1.png

3、复制和查看/dev/sda盘上的前512字节的二进制

 图片2.png

4、echo  “– – –”  >   /sys/class/scsi_host/host2/scan触发添加的新硬盘显示出来。

5、恢复损坏的分区表

场景–利用备份的分区表去恢复原来分区表损坏的盘的分区信息。

(1)备份分区表dd  if=/dev/sda  of=/root/backup(备份的区域,不固定)   bs=1 count=512

(2)用别的方式进入系统后开始使用复制命令

dd  if=/root/mbr of=/dev/sda

(3)fdisk -l /dev/sda查看恢复后的信息

 

 

 

 

 

 

 

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

赞 (0)
178babyhanggege178babyhanggege
上一篇 2016-08-29 08:49
下一篇 2016-08-29 08:49

相关推荐

  • 马哥教育网络班22期-第6周博客作业

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

    Linux干货 2016-12-05
  • 文本处理工具(一)

    文本处理工具 查看工具 cat;tac;rev;more cat 连接文件,并打印到标准输出上。 注意:当文件比较大的时候,文本在屏幕上一闪而过,导致无法看清内容,所以对于较大的文件建议结合着more,less等命令结合来用。 使用方法: -E: 显示行结束符$ -n: 对显示出的每一行进行编号 空行也加行号 -A:显示所有控制符 相当于-ETV -b:非空…

    2017-06-01
  • 正则表达式字符集

    POSIX Description ASCII Unicode Shorthand Java [:alnum:] Alphanumeric characters [a–zA–Z0–9] [\p{L}\p{Nl}  \p{Nd}] \p{Alnum} [:alpha:] Alphabetic characters …

    Linux干货 2017-07-07
  • grep、正则表达式

    grep、正则表达式 grep:文本过滤(模式:pattern)工具 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件。 正则表达式:由一类特殊字符及文本所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配的功能。 正则表达式分为两类:基本正则表达式、扩展正则表…

    Linux干货 2017-04-06
  • 网络组Network Team

    网络组Network Team 网络组team:是将多个网卡聚合在一起,从而实现容错和提高吞吐量 1 创建网络组接口 nmcli connection add type team con-name TEAMname ifname INTname [config JSON] TEAMname 指定连接名,INname指定接口名, JSON指定runner方式,…

    Linux干货 2017-05-07
  • Linux LVM介绍及管理

    什么是LVM? LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性。系统管理员可以通过LVM轻松的管理磁盘分区,如:将若干个磁盘分区或物理磁盘连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以…

    Linux干货 2016-08-30

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 15:53

    文章对磁盘管理、文件系统等相关知识总结的很详细,但对于命令的使用,我们更需要多进行操作,可以通过一个示例,例如:增加一块硬盘、分区、格式化、然后挂载使用等,对自己所学的命令进行相应的练习。