Linux磁盘管理(一)之分区、格式化、挂载使用

磁盘管理(一)

 

本章节内容:

磁盘结构

分区类型

  管理分区

  管理文件系统

  挂载设备

 

一、磁盘结构:

1、设备号码:

 主设备号:major number, 标识设备类型

次设备号:minor number, 标识同一类型下的不同设备

 blob.png 

2、磁盘接口类型:

   并行:IDESISC

   串口:SATA SAS USB

   rpmrotatonsper minute

3、磁盘设备的设备文件命名:

   IDE/dev/hd

   SISC/dev/sda/dev/sdb、……   (不同的设备,使用a-z

   (同一设备上,不同的分区,采用数字来命名区分,如:/dev/sda1/dev/sda2……)

4、  磁盘结构及磁盘存储:

如下图,结构:磁臂、电机、扇区(secotr\磁道(track)、磁头(head)、盘片、柱面(cylinder

   blob.png

(注:每个磁道有63个扇区,每个盘面有1024个磁道,每个磁盘最多有255个磁头,每个扇区最多能存储512个字节。柱面:每个盘面都有零磁道/扇区,每个盘片有两面,因此每个盘片有两个零磁道/扇区,每个磁盘有多个盘片,所以,磁盘的所有零磁道/扇区组成的立体为零柱面,其他柱面也是如此!)

二、分区类型:

1、首先了解为什么要分区?

   A 优化I/O性能

B、实现磁盘空间配额限制

C、提高修复速度

D、隔离系统和程序

E、安装多个OS

2、磁盘的两种分区方式:

   MBR GPT

1MBR分区:采用32位表示扇区数,分区不超过2T

   0磁道0扇区:512bytes446bytesboot loader64bytes为分区表(16bytes标示一个分区);2bytes55aa

   支持最多4个主分区(3个主分区+1扩展分区[N个逻辑分区]

   blob.png

2GPT分区:最大支持128个主分区,使用64位,支持8Z512bytes/block)和64Z4096bytes/block)。

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

   UEFI (统一扩展固件接口)硬件支持GPT

   blob.png

3、查看硬盘分区信息:

   A、命令lsblk

   Bcat /proc/mounts

   Cls /dev/sd*

4、检查磁盘是否分区:

 blob.png

5、备份磁盘和还原分区表:

 备份:dd if=/dev/sda of=/root/mbr bs=1 count=512

 blob.png

 还原:dd if=mbr of=/dev/sda

 如下图,查看备份出来的mbr分区表信息(注:或者在备份前也可以使用命令查看,#hexdump -C -n 512 /dev/sda

 blob.png

 blob.png

6、清除分区表信息(写零):

   命令:dd if=/dev/zero of=/dev/sdc bs=1 count=64 skip=446 seek=446(跳过446字节)

7、清除boot loader信息(写零):

   命令:dd if=/dev/zero of=/dev/sdc bs=1 count=446

 blob.png

注:上面所提到的清除步骤,勿在系统安装的磁盘上操作。

三:管理分区:

1、如何列出系统中的磁盘分区:(命令#lsblk

  blob.png

  命令:blkid查看分区的UUID、系统类型等信息

 blob.png

2、分区创建:

fdisk

gdisk

主要创建MBR分区,也支持GPT,但对于一块磁盘最多只能管理15个分区

主要创建GPT分区,也可以将MBR分区转换成GPT

# fdisk /dev/sda(功能选项)

blob.png

# gdisk /dev/sda (功能选项)

blob.png

blob.png

blob.png

blob.png

blob.png blob.png

注:parted高级分区操作(创建、复制、调整大小等等)

3、同步分区表命令:

CentOS5

CentOS6

CentOS7

新建分区同步

#partprobe /dev/DEVICE

partx -a -n M:N /dev/DEVICE

kpartx -a /dev/DEVICE -f: force

#partprobe /dev/DEVICE

删除分区同步

#partprobe /dev/DEVICE

partx -d -n M:N /dev/DEVICE 删除一个分区

partx -d –nrN-M  /dev/DEVICE 删除多个分区

#partprobe /dev/DEVICE

4parted命令创建GPT分区:

 #parted /dev/sdb mklabel gptparted /dev/sdb mklabel msdos[MBR]

 blob.png

 blob.png 

 # parted /dev/sdb mkpart primary 1 1024  (从1开始到10241G

 blob.png

 删除分区:#parted /dev/sdb rm 1  1为分区的编号)

 blob.png

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

四、管理文件系统:

1、什么是文件系统:

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

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

2、文件系统类型:

   Linux文件系统: ext2, ext3, ext4, xfsSGI, btrfsOracle, reiserfs, jfsAIX, swap(交换分区)、光盘(iso9660

   Windowsfat32, ntfs

   Unix: FFSfast, UFSunix, JFS2

   网络文件系统:NFS, CIFS

   集群文件系统:GFS2, OCFS2oracle

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

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

3、文件系统类型分类:

   根据其是否支持"journal"功能:

日志型文件系统: ext3, ext4, xfs, …

非日志型文件系统: ext2, vfat

 文件系统的组成部分:

内核中的模块:ext4, xfs, vfat

用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

    Linux的虚拟文件系统:VFS

   查前支持的文件系统:cat /proc/filesystems

4、创建文件系统:

   1)、mkfs命令:

        使用格式有:mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.xfs mkfs.btrfs mkfs.vfat

        如下图:

        blob.png

        使用选项:

            -t FSTYPE[DEVICE]ext2 ext3 ext4

            即:mkfs.ext2=mkfs -t ext2

       blob.png

         blob.png

       

         -L :设置分区卷标

           #mkfs.ext4 /dev/sda2 -L ‘卷标名称

         blob.png

   2)、mke2fs命令:管理格式化ext系列的文件系统。

      #mke2fs -t {ext2|ext3|ext4} /dev/sda3

      -j: 相当于-t ext3

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

      blob.png

5ext系列文件系统的管理工具:

   1)、mke2fs命令:ext系列文件系统专用管理工具

    -b {1024|2048|4096}

-L 'LABEL'

-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小

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

-I 一个inode记录大小128—4096

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

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

-O ^FEATURE:关闭指定特性

例题:选项-O的使用,如下图关闭指定特性日志功能:

blob.png

blob.png

2blkid系统分区信息查询:

 Ablkid:块设备属性信息查看

blkid[OPTION]… [DEVICE]

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

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

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

# e2label DEVICE [LABEL]

 Cfindfs:查找分区

findfs[options] LABEL=<label>

findfs[options] UUID=<uuid>

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

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

-L 'LABEL':修改卷标

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

blob.png

-j: ext2升级为ext3

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

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

例题:启用分区的日志功能,如下图:

blob.png

blob.png

-U UUID: 修改UUID号(此处可以通过命令产生随机UUID#uuidgen

blob.png

  (4dumpe2fs

             查看superblockdumpe2fs /dev/sda3

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

6、文件系统的检测与修复:

   常发生于死机或者非正常关机之后;挂载为文件系统标记为“dirty”

   fsck: File System Check

    fsck.FS_TYPE

    fsck -t FS_TYPE

    -a: 自动修复错误

    -r: 交互式修复错误

blob.png

blob.png

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

 e2fsckext系列文件专用的检测修复工具

-y:自动回答为yes

-f:强制修复

blob.png

五:管理挂载设备:

    1、什么是挂载和卸载:

   挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为。

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

2、挂载条件与特殊:

   挂载点目录一般为空

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

3、挂载和卸载命令:

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

   把设备关联挂载点:mount /PATH/TO/dir

     卸载时:umount /PATH/TO/dir

     blob.png

4、挂载方法:

Amount /dev/sda3 /mnt/sda3

Bmount -L ‘backup’(卷标名) /mnt/sda3

Cmount -U ‘UUID’ /mnt/sda3

5、挂载后的操作:

A、查看挂载情况:findmnt /mnt/sda3

B、查看正在访问指定文件系统的进程:losf /mnt/sda3fuser /mnt/sda3

C、终止所有正在访问指定的文件系统的进程:fuser –km /mnt/sda3

6mount命令:(注:mount挂载使用所相应的选项达到的效果都不是永久的,机器一旦重启将丢失。)

A、使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir

       B、常用选项:

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

               -r: readonly,只读挂载

              blob.png

               -w: read and write, 读写挂载

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

               -a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)

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

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

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

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

       C-o的常用选项:

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

async:异步模式

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

atime/noatime:包含目录和文件

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

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

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

dev/nodev:是否支持在此文件系统上使用设备文件(devmkdir /mnt/sda3/cdrom ;mknod cdrom b 11 0mount /dev/sda3/cdrom /media/

suid/nosuid:不否支持suidsgid权限

remount:重新挂载

ro:只读

rw:读写

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

acl:启用此文件系统上的acl功能(在CentOS6上系统安装完成后新分出来的分区是不启用acl的,此处虽然可以挂载时生效启用acl,但不是永久有效的,建议还是用tune2fs -o acl /dev/sda3 

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

               

  

演示:分区,格式,挂载

  分区:

  blob.png

  blob.png

  blob.png

                

  格式化:

  blob.png

  blob.png         

  blob.png         

           

  分区挂载:

  blob.png

  blob.png         

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

(3)
Aaron_wangAaron_wang
上一篇 2016-08-26
下一篇 2016-08-26

相关推荐

  • 第十八周

    “1、为LNMP架构添加memcached支持,并完成对缓存效果的测试报告; 架构(3台centos7) nginx与php 192.168.1.108    nginx,php-fpm,php-mysql php-pecl-memcache mysql         192…

    2017-08-21
  • 超文本传输协议-HTTP

        超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。     设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或…

    Linux干货 2017-07-31
  • N26-第九周

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # # # NUM1=0 NUM2=0 for i in `cut -d: -f7 /etc/passwd` ;do if [[ “$i” = ‘/bin/bash…

    Linux干货 2017-03-15
  • liunx初探

    计算机的五大单元: 输出单元、输入单元、cpu内部控制单元、算术逻辑单元和内存。 计算机三大组成部分: 输入单元:键盘、鼠标等等 输出单元:屏幕、打印机等 中央处理器(CPU):含有算术逻辑、控制、记忆等 CPU种类有两种分别是:   精简指令集(RISC):这种cpu微指令比较精简,每个指令的执行时间都很短,完成的操作也很简单。常见的简单指令集C…

    Linux干货 2016-09-14
  • linux中find命令的那些事

         概述:在介绍find这个强大的文件查找命令前,我们先介绍两个较简单的文件查找命令whereis和locate命令,通常我们都是先使用whereis或者是locate检查,如果真的找不到了,才用find来查找,因为whereis和locate是利用数据库来查找数据的,速度相当快,节约时间,缺点就是有可…

    Linux干货 2016-08-18
  • 使用monit搭建一个监控系统

     上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情。当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行。我们搭建监控目的不过是出现问题能够及时的知道,平时可从web UI上看到整个系统的状况,同时它本身要轻量级,不要影响性能。当然了类似的产品很多了,比如Ganglia,我在老科长波哥曾经搭建过…

    Linux干货 2015-02-15