磁盘管理

设备类型分为字符设备和块设备

主设备号用来标识设备类型,次设备号标识同一类型下的不同设备

硬盘设备命名:

scsisatasasusb/dev/sd

不同设备/dev/sda  /dev/sdb

同一设备不同分区:/dev/sda1,/dev/sdb2……

硬盘:

一片磁盘的一面叫做盘面,一张盘片有两个盘面

每个盘面有一个磁头,最多有256个,即256个盘面

硬盘以扇区为最小单位,一个扇区的大小为512字节

由扇区组成的圆环称为磁道,一个盘面有1024个磁道

柱面是由不同盘面上的同一磁道组成

CHS:早期的寻址方式,以柱面为单位划分,不同磁道扇区数相同

LBA:现在的寻址方式,以扇区为单位划分,不同磁道的扇区数不同

两种分区方式:MBRGPT

MBR32位表示扇区数,分区最大不超过2T

0磁道0扇区为MBR512字节,前446字节为bootloader(版本分为grubgrub2),接下来64个字节为分区表,用16字节表示一个分区,所以最多可以分4个分区(主分区+扩展分区),最后两个字节为55aambr标识位

16字节的分区表:第一个字节标识是否为活动分区,2-4字节标识chs的开始位置,5字节标识是否使用此分区,6-8字节标识chs结束位置,9-12字节标识lba起始位置,13-16标识lba结束位置

扩展分区的前512字节ebr:前446字节未使用,后64字节为分区表,最后两位为标识位

扩展分区64位分区表:前16字节记录当前分区信息,17-32字节记录下一分区ebr位置,剩下的则未使用,格式与mbr分区表相同

GPT:使用128位表示扇区数,支持128个主分区,分区支持8z(块大小为512字节),64z(块大小为4k),使用128位表示UUID表示磁盘,UUIdGPT分区表自动备份在头尾两份,并有CRC校验位

一个块组有32768个块

dd命令复制 if=输入的文件  of=输出的文件  bs:块大小  count:块的数量

skip:输入时跳过的块数,总大小bs*count

seek:输出时跳过的块数,若不加conv=notrunc原文件后面的数据会被删除,总大小为bs*count+bs*seek

hedump:二进制查看工具   -n:查看字节数

新加硬盘后要触发硬盘:echo” – – – ”>/sys/class/scsi_host/host2/scan

查看块设备的三种方法:lsblk/dev/sd*/proc/partitions

 fdisk:创建mbr分区,也支持gpt,一块硬盘最多管理15个分区

gdisk:创建gpt分区

parted  /dev/#:非交互式创建分区,要先选择分成gpt还是msdos后再分区

        mklable gpt|msdos  选择创建mbr分区还是gpt分区

  mkpart primary 创建基本分区

  rm# 删除分区

  print显示信息

  -l 显示全部硬盘信息

分区后如果出现警告要使用partprobe重读分区表

centos 6上增加使用partx  –a命令重读分区表,删除时使用partx  –d –nr 命令重读分区表

文件系统是设备上组织文件的方法

raw是未经处理或未经格式化的文件系统

文件系统按照是否有日志系统分为日志性文件系统和日志性文件系统

日志性文件系统:ext2vfat

日志性文件系统:ext3,ext4,xfs

ext2ext3本质上是相同的只是差了一个日志系统

vfat文件系统内文件默认有执行权限,不区分大小写

linux通过虚拟文件系统vfs弥合不同文件系统的差异

一个块只能存储一个文件的信息

调用设备时可以使用设备名,卷标或UUID

mkfs:文件系统管理工具

mke2fsext系列文件系统管理工具

-t:指定文件系统  -b:块大小  -L:卷标  -j :创建ext3文件系统  -i:多少字节分配一个inode  -N:指定多少个inode  -I:每个innode的大小  -m:为管理员预留的空间百分比  -O :启用指定特性  -O ^# 关闭指定特性

blkid:块设备属性查看器

-U:按UUID查找设备

-L:按照卷标查找设备

e2lableext系统卷标管理器

findfs:查找分区

tune2fs:重新设定ext文件系统参数(有些参数在格式化后不能更改)

-l:查看指定文件系统超级块信息   -L:修改卷标  -m:修改留给管理员空间百分比 

-O:文件系统属性起禁用  -o:默认挂载选项  -U:修改UUID  -j:ext2转化为ext3

dumpe2fs:查看超级块及分组详细信息

uuidgen:生成UUID

fsck:文件系统检测修复工具(使用时要在非挂载情况下进行,不然会破坏分区)

-a:自动修复错误  -r:交互式修复错误 

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

-y:自动回答yes  -f:强制修复

fuser:查看当前挂载点进程信息

-km:将所有使用此挂载点进程结束

lsof也可以查看挂载点进程

mount:挂载

-t:指定文件系统(一般可以自动识别)  -r:只读挂载  –w:读写挂载

-a:自动挂载所有支持自动挂载的设备(定义在/etc/fstab中且挂载选项为auto

-l:以指定卷标挂载  -U:以指定UUID挂载设备  -B:绑定目录到另一个目录

mount –o:默认挂载选项   sdync:异步  sync:同步  atime/noatime 是否更新atime(包含目录及文件) diratime/nodiratime是否更新atime    auto/noauto是否自动挂载  exec/noexec是否在该文件系统上运行程序   dev/nodev是否支持在该文件系统上使用设备文件  suid/nosuid是否支持suidsgid  ro只读  rw读写  user /nouser是否允许普通用户挂载该设备   acl /noacl:是否开启acl  remount:重新挂载

分完区要立即进行同步,不能多次分区后再同步

/etc/fstab文件格式:

设备  挂载点  文件系统类型  挂载选项  转储频率 自检次序(0为不检测)

自检次序最好写0,不然设备出问题会导致系统不能启动

当设备名写错后进入系统只能识别根目录的挂载,并且是只读模式,要用rw重新挂载才能修改fstab

光盘的文件系统是iso9660,设备名为/dev/sr0/dev/cdrom

用文件做分区时,不用创建分区,直接创建文件系统,用blkid看不到,但是加上设备名能够查到信息,挂载时要用-o loop选项,写fsstab时选项要写loop

目录挂载目录时fstab的文件系统要写none,默认选项要写bind

losetup /dev/loop#  #/#/#将目录与loop设备关联起来

查看生效的swap分区cat  /proc/swaps

新增swap分区

1.分区,并将格式改为swap

2.创建swap文件系统 mkswap

3.写入fstab,在默认选项写pri=#为指定优先级,值越大优先级越高,最大为32767

4.swapon –a 自动挂载写入fstabswap分区

swapon:开启swap设备

-s:查看当前生效的swap分区  -p指定优先级

swapoff:禁用swap设备

注:swapon –amount –a会读取fstab文件,直接使用命令则不会读取该文件

lsmod查看当前生效的模块

使用u盘时要用sync命令进行同步,防止异步写入

eject弹出光驱  -t:弹回光驱

制作iso镜像: cp /#/#  /#/#.iso

 把目录制作成iso镜像  mkisofs  -r –o  #.iso  /#/#

刻录光盘:  wodim –v –eject  #.iso

free:查看内存,默认以k为单位  -m:以M为单位   -g:G为单位  -h:以易读格式显示

butters:元数据缓存   cache:数据缓存

df:查看文件系统的挂载信息,默认以k为单位(只能查看文件系统,文件夹查看不到)  -H:以1000位单位  -T:文件系统类型  -h:以易读格式显示 –i:以inode显示

-P:以与posix兼容格式输出

inide用完会显示空间满

du:显示大小  -s:只显示汇总信息  -h:以易读格式显示

备份并压缩:dd if=/#/#|gzip>/#/#

解压恢复:gzip –dc /#/#|dd of=/#/#

销毁数据:dd if=/dev/urandom  of=/#/#

dd命令也可以用来测试磁盘的读写速度,找出适合的块大小

修复磁盘: dd  if=/#/#  of=原文件

磁盘配额:以文件系统为单位,对不同的组或用户策略不同,根据块或节点进行限制

初始化:分局挂载选项  userquota  grpquota

        初始化数据库quotacheck

quotacheck  -c:创建  -u:创建用户数据库 –g:创建组数据库 

quotaon:启用数据库   -p:查看状态

edquota:编辑数据以k为单位

系统根据文件所有者计算配额

edquota –p #1  #2  #1的磁盘配额复制给#2

直接在命令行完成配置setquota  用户名  块软限制  块硬限制  inode软限制  inode硬限制  文件系统目录名

过了宽限期软限制就和硬限制相同

创建quota数据库出错执行  setenforce 0

getenforce检查是否关闭

raid实现方式:

外接式磁盘阵列、

内接式raid:主板集成raid控制器

软件raid:通过os实现

raid的硬盘或分区要一样大,设备名为/dev/md#

raid将文件分为chunk

raid级别:

raid0:   读、写性能提升, 可用空间n*s无容错能力  最少磁盘数:2

 raid1  读性能提升、写性能略有下降,可用空间:n*s/2,有冗余能力  最少磁盘数:2

 raid4  多块数据盘异或运算值,存于专用校验盘,可用空间:n-1/n,有冗余能力  最少磁盘数:3

raid5  多块数据盘异或运算值分散存于各盘,可用空间:n-1/n,有冗余能力  最少磁盘数:3

raid6  多块数据盘异或运算值计算两次分散存于各盘,可用空间:n-2/n,有冗余能力  最少磁盘数:4
raid7  自身带有处理器和管理工具,可以独立运行,理论性能最高 

raid10  读、写性能提升  可用空间n*s/2  有容错能力:每组镜像最多只能坏一块  最少磁盘数:4

raid01  读、写性能提升  可用空间n*s/2  有容错能力:每组镜像最多只能坏一块  最少磁盘数:4

JBOD:将多块磁盘组合成一个大的空间

创建软件raidmdadm[mode]<raiddevice>

支持级别:0,1,4,5,6,10

使用分区创建raid需要改格式

mdadm

-C 创建:  -a:自动创建raid设备的设备文件  -n:创建raid的设备个数  -x:空闲设备的个数  -lraid的级别   -c:指定块的大小

-D:显示raid的详细信息

查看md#的状态  cat/proc/mdstat

管理模式:  -f:模拟磁盘损坏  -a:增加磁盘  -r:移除磁盘

-G:增加raid新成员

psmdadm –G   –n(加上原来成员的总数) -a /dev/#

生成配置文件:mdadm –Ds >/etc/mdadm.conf(若无配置文件则raid关闭后不能再启动)

mdadm  –S停止raid

mdadm –A激活raid

mdadm –R 强制启动raid

raid的删除:

mdadm – -zero-superblock删除raid成员分区内信息

1.    停止raid服务

2.    取消挂载

3.    删除raid成员分区

4.    删除raid成员分区信息

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

(0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-30 13:55
下一篇 2016-08-30 13:55

相关推荐

  • Linux基础目录名称命名法则及功用规定

    FHS:文件系统层级结构标准 – Filesystem Hieracry Standard 参考这篇文档: http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html  /bin:供所有用户使用的基本命令文件 /sbin:系统管理使用的工具程序 /boot:引导加载器必须用的静态文件…

    Linux干货 2016-08-15
  • vim文本编辑器

    vi简介 vi:Visual Interface,是一种功能强大的文本编辑器,工作在字符模式下,它可执行输出、输出、查找、替换、块等众多文本操作,不需要图形界面,因此执行起来效率会非常高,主要用来编辑纯文本文件,常见的编码有,ASCII,Unicode等等 文本编辑器的种类:     行编辑器:逐行来对文本进行处理的工…

    Linux干货 2016-08-15
  • 关于IO的同步,异步,阻塞,非阻塞

    上次写了一篇文章:Unix IO 模型学习。恰巧在这次周会的时候,@fp1203 (goldendoc成员之一) 正好在讲解poll和epoll的底层实现。中途正好讨论了网络IO的同步、异步、阻塞、非阻塞的概念,当时讲下来,大家的理解各不相同,各执己见。搜索了网络上的一些文章,观点也各不相同,甚至连wiki也将异步和非阻塞当成一个概念在解释。  &…

    Linux干货 2015-04-02
  • 马哥教育网络第21期-第六周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@6 ~]# cp /etc/rc.d/rc.sysinit /tmp [root@6 ~]# …

    Linux干货 2016-08-15
  • redis-cli的一些有趣也很有用的功能

    redis-cli我们最常用的三个参数就是-h、-p、-a选项,分配用来指定连接的redis-server的host、port和登录密码。通过redis-cli –help发现,redis-cli还提供了其他很多的参数和功能。 1)-x-x选项从标准输入(stdin)读取最后一个参数。 比如从管道中读取输入: echo -en &quot…

    Linux干货 2016-04-13
  • N25-第四周

    一、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     [root@localhost ~]# cp -r /etc/skel /home/tuser1      [root@localhost ~]# chmo…

    Linux干货 2017-01-09

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 17:40

    文章理论多于实践,对于理论部分可以通过图片来展示磁盘结构会更形象,同时更需要通过实践来加深自己的理解。