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 22:34
下一篇 2016-12-02 22:37

相关推荐

  • 关于rpm及yum的一些感想

    rpm -ivh PACKAGE_FILE  注意: (1) 不要对内核做升级操作;Linux支持多内核版本并存,因此 ,对直接安装新版本内核 v rpm {-q严格–query} [select-options] [query-options] v [se…

    Linux干货 2016-08-24
  • CentOS下获取帮助

    CentOS中获取帮助 在使用和学习CentOS系统时,我们可能会遇上不熟悉的命令,需要获取帮助。在很多情况下,我们无法通过网络获取帮助,这个时候我们就需要自己通过查看系统帮助文档来解决问题。下面就来介绍获取帮助的方法: 1、 获取简单的帮助信息:whatis COMMAND   2、获取比较详细的命令帮助信息:help COMMAND;COMMA…

    2017-07-15
  • 20161028第9天作业

    20161028第9天作业 1、编写脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问” 2、编写脚本/root/bin/checkdisk.sh,检查磁盘分区空间和inode使用率率,如果超过80%,就发广播…

    Linux干货 2016-10-30
  • 磁盘管理(三)逻辑卷快照

      概述:逻辑卷管理(LVM)提供了为任何逻辑卷作一个快照的功能,目的是在一致的状态下来得到一个文件系统的备份.因为在备份过程中,应用程序可能访问一个分区的文件或者数据库.一些文件可能在一个状态被备份,而后面的文件可能在一个更新后被备份,导致备份的不完整 .传统的解决方法是以只读的方式挂载一个分区,对数据库应用表级锁或者关闭数据库的引擎等;所有的措…

    Linux干货 2016-09-05
  • ☞RAID使用手册

    RAID使用手册 RAID演示

    Linux干货 2016-09-02
  • 软件包管理

    软件包的分类,主要有以下两大类    源码包    二进制包(rpm包,系统默认包) rpm包由Redhat公司提出,被众多linux发行版所采用。 优点:建立统一的数据库文件,详细记录软件包的安装、卸载等变化信息,能够自动的分析软件包依赖关系。 查询已安装的rpm软件信息: 格式:     rpm…

    Linux干货 2016-08-25