15磁盘管理

在系统中,常见的硬盘接口有分两类:并行的和串行的

并行:

IDE: 133MB/s

SCSI: 640MB/s

串行:

SATA: 6Gbps

SAS: 6Gbps

USB: 480MB/s

存储设备的设备文件命名方式大致为:/dev/DEV_FILE

IDE: /dev/hd#  #–>0,1,2,3

SCSI,SATA,SAS,USB: /dev/sdx  x表示a-z eg:/dev/sda,/dev/sdb

光盘中显示的是 /dev/sr0,/dev/sr1…

同一设备上的不同分区:1,2,3… eg:/dev/sda1,/dev/sda2…

想要使用一块没有用过的磁盘,需要做一下几部:

1、设备识别,即首先要讲磁盘接入设备中,在系统中能够看到设备(/dev/DEV_FILE)

2、设备分区,全新的磁盘是没有分区的

3、创建文件系统,主要明确在设备上存储的数据是什么格式的.(ext3,ext4,NTFS…)

4、标记文件系统

5、在/etc/fstab文件中创建条目

6、挂在新的文件系统

磁盘分区:

磁盘分区的理由

1、优化i/o性能

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

3、提高修复速度

4、隔离系统和程序

5、安装多个OS

6、采用不同文件系统

两种分区方式:MBR,GPT

MBR: master boot record ,使用32位表示山区数,分区不超过2T,按柱面分区

在0磁道0扇区的512bytes中,前446bytes:BootLoader,64bytes:分区表(其中16byte表示一个分区,因此主分区+扩展分区<=4)最后2byte:55AA

GPT:GUID(global unique identifiers) partition table 支持128个分区,使用64位,支持8Z(512byte/block) 64Z(4096byte/block)

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

管理分区:

列出块设备:lsblk

创建分区:fdisk(MBR),gdisk(GPT),parted 高级分区操作(创建,复制,调整大小等)

partprobe 重新设置内存中的内核分区表版本

fdisk gdisk命令类似,下面主要介绍fdisk的使用

fdisk [options] <disk>     change partition table

fdisk [options] -l <disk> list partition table(s)

交互式fdisk命令其实更适合使用,分区之后可查看,可修改,只有在保存的时候才会真正的自该磁盘的分区。

子命令:

p 分区列表

t 更改分区类型

n 创建分区 

d 删除分区

w 保存并退出

q 不保存退出

m 查看帮助,打印菜单选择项

在修改分区完成之后,可查看内核是否已经识别新的分区 cat /proc/partations

如果内核没有识别到新的分区,可通过命令是内核重新读取硬盘分区表

在 centos 6 上 partx -a -n M:N /dev/DEVICE  或者 kpartx -a /dev/DEVICE 

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

在centos 5,7上面直接使用partprobe 就可以了  partprobe [/dev/DEVICE]

文件系统:

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

创建文件系统

mkfs.fs_type /dev/DEVICE

fs_type: ext# xfs btrfs vfat…

mkfs -t fs_type /dev/DEVICE

创建ext文件系统

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

-t ext#

-b {1024|2048|4096}

-L 'lable'

-j: 加日志记录 相当于-t ext3

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

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

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

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

文件系统标签:

blkid [options]…[device]块设备属性信息查看

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

-L LABLE:根据指定的lable来查找

e2lable:管理ext系列文件系统的lable eg e2labl device [lable]

findfs:查找分区

findfs [options] LABLE=<lable>

findfs [options] UUID=<uuid>

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

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

-L 'LABLE' 修改卷标

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

-j 将ext2升级为ext3

-U UUID修改

dumpe2fs -h  查看你超级块信息,不显示分组信息

文件系统检测和修复

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

挂在为文件系统标记为 No clean

注意:不要在挂载状态下修复

修复命令工具:

fsck:file system check

fsck.fs_type

fsck -t fs_type

-a :自动修复错误

-f :交互式修复错误

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

-y:自动回答yes

-f:强制修复

挂载mount

挂载mount:将额外文件系统与根文件系统某现存的目录建立起关联关系,从而使得此目录作为其他文件访问入口的行为.

卸载unmount:接触挂载关系,进程正在使用中的设备无法被卸载

挂载点目录一般为空,如果有文件,则挂载后原文件在挂载完成后倍临时隐藏

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

mount [-fnrsvw] [-t vfstype] device mount_point

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

-r: readonly,只读挂载

-w:read and write,读写挂载

-n:不更新/etc/mtab

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

-L 'LABLE'

-U 'UUID'

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

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功能

default:相当于rw,nosuid,dev,exec,auto,nouser,async

findmnt mount_point 查看挂载情况

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

lsof mount_point

fuser -v mount_point

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

fuser -km mount_point

卸载 umount device 或者 umount mount_point

文件挂载配置文件 /etc/fstab

1、要挂载的设备或伪文件系统:设备文件、lable(LABLE="")、UUID(UUID="")、伪文件系统名称(proc、sysfs)

2、挂载点:

3、文件系统类型

4、挂载选项:defaults,acl …

5、转储频率:0,不做备份。1、每天转储。2、每隔一天转储

6、自检次序:0、不自检。1、首先自检,一般只有rootfs才用1

创建ISO文件

cp /dev/cdrom /root/centos7.iso

mkisofs -r -o /root/etc.iso /etc 

刻录光盘

wodim -v -eject centos.iso 

常见工具命令

free [option] -m :以M为单位 -g :以GB为单位

df [option]…[file]…

-H:以1000为单位

-T:文件系统类型

-h:human readable

-i:inodes instead of block 

-p:以posix 兼容的格式输出

du [option]…dir 

-h :human readable

-s :summary

dd if=/path/from/src of=/path/to/dest

bs=# :block size ,复制单元大小

count=# :复制多少个bs

of=file 写到所命名的文件

if=file  从file文件读取

bs=size 指定块大小(即使ibs也是obs)

ibs=size 一次读取size个byte

obs=size 一次写size个byte

cbs=size 一次转化size个byte

skip=blocks 从开头忽略blocks个ibs大小的快

seek=blocks 从开头忽略blocks个obs大小的快

count=n 只拷贝n个记录

conv=conversion[,conversion…] 用指定的参数转换文件,转换参数如下:

ascii  转换ebcdic为ascii

ebcdic 转换ascii为ebcdic

block 转换一行数据为度为cbs的记录,不足部分用空格填充

unblock 替代cbs长度的每一行尾的空格为新行

lcase 吧大写字符转换为小写字符

ucase 吧小写字符转换为大写字符

nocreat 不创建输出文件

noerror 出错时不停止

notrunc 不截短输出文件

sync 把每个输出块填充到ibs个字节,不足部分用空字符补齐

备份MBR: dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

—-joker的部落阁

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

(0)
jokerjoker
上一篇 2016-12-02
下一篇 2016-12-02

相关推荐

  • 第三周

    作业

    2017-12-15
  • Linux运维实战之一:初识计算机组成及Linux系统

    本次博文是Linux运维实战的开山篇,主要内容如下: 计算机的组成及其功能; Linux的不同发行版之间的联系与区别; Linux的哲学思想; Linux系统上命令的适用格式及一些常用命令的使用; Linux系统上如何获得帮助信息; Linux发行版的基础目录名称命名法则及功用规定; 一、计算机的组成及其功能: 问题引入:互联网时代,计算机是我们每天都要使用…

    Linux干货 2016-10-31
  • find文件:就是这么简单

    概述 由于Linux一切皆文件,我们的日常运维工作其实就是与文件打交道的事,如何能够快速而有效地找到我们需要的文件呢?这是个令人头疼的问题。幸运是,Linux为用户提供了强大的查找工具——find。find通过遍历指定路径完成文件查找,它的的工作特点: 精确查找——多查询条件组合,精确匹配; 实时查找——遍历指定路径; 查找速度稍慢——由于需要遍历路径,速度…

    Linux干货 2016-08-18
  • linux基础学习(数组、字符串变量处理)

    2016-08-22 授课内容: 数组 高级字符串操作 一、数组   变量:存储单个元素的内存空间   数组:存储多个元素的连续的内存空间,相当于多个变量的集合。   数组名和索引   索引:编号从0开始,属于数值索引   bash的数组支持稀疏格式(索引不连续)   …

    Linux干货 2016-08-24
  • 优云Web新功能发布,邀您在线免费体验!

    你是否还在因为无法通过大数据精准分析需求而烦恼? 你是否还在因为无法直观呈现用户的行为而头大? 你是否还在因为怎么优化页面布局而愁眉苦脸? 正所谓“一图胜千言”,一张色彩缤纷的图片甚至可以给人带来意想不到的收获,优云web作为监控利器,其新功能“热图”可以为您解决这些麻烦! 热图作为优云web的特色功能点,究竟是怎样帮助您更好地了解用户行为的呢,让小编给您一…

    系统运维 2017-01-09
  • Shell脚本编程

    Shell脚本编程 关于脚本的调试     bash -n /path/to/some_script                   &…

    Linux干货 2016-08-15