码迷,mamicode.com
首页 > 其他好文 > 详细

磁盘管理

时间:2018-03-10 20:32:36      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:磁盘管理   创建文件系统   挂载卸载设备   磁盘分区   dd工具   

一、 设备文件

??一切皆文件

?1、 设备文件的类型

??设备文件一般默认存放在/dev下
???设备类型:
???块设备:block,存取单位“块”,磁盘 CD 软盘 U盘
??下面我们来列举一个块设备文件的信息
技术分享图片
???b:代表块设备文件
???8:主设备号
???0:次设备号
??字符设备:char,存取单位“字符”,键盘 鼠标 显示器
??下面列举一个字符设备文件的信息
技术分享图片
???c:表示这是一个字符设备文件
???设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
??设备号码
???主设备号:major number,表示设备类型
???次设备号:minor numder,表示同一类型下的不同设备
技术分享图片

?2、设备文件的创建

??mknod 设备文件路径 设备类型 主设备号 次设备号
??例:
技术分享图片
??/app/shebei:设备文件路径,设备是设备文件名,可以随便起一个
??b :块设备文件
??8:住设备号
??5:次设备号
??细心的小朋友会注意到我创建的设备文件跟已有的设备文件/dev/sda5主设备号和次设备号一样,其实创建设备文件也不算是创建,因为设备文件是关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信,也就是说,一个设备文件就对应着系统的一个硬件,比如硬盘,内存,鼠标,键盘。b、c是区分是设备文件的类型,主设备号是区分同种类型的设备文件的不同设备,次设备号是区分同种设备的不同设备,所以当设备文件类型、主设备号、次设备号一样的两个设备文件对应的都是同一个设备。创建设备一个设备类型、主设备号、次设备号一样的设备文件就相当于复制了一份这样的一份设备文件只是更改了设备文件的名字和路径而已,其实还是同一个设备。不信我们来使用fdisk查看一下这两个设备文件是不是信息一样
技术分享图片

二、 硬盘接口类型

??并行接口:
???IDE :133MB/s
???SCSI :640MB/s
??串口:
??? SATA :6Gbps
??? SAS :6Gbps
??? USB :480MB/s

三、 硬盘的分类

??机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘 片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存 等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片 之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距 离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制 器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟 几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写 操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可 以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤
??固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制 成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固 态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同, 在产品外形和尺寸上也与普通硬盘一致
??两者的区别:
???(1)相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优 势,SSD传输速率性能是HDD的2倍
???(2)相较于SSD,HDD在价格、容量、使用寿命上占有绝对优势
??硬盘有价,数据无价,目前SSD不能完全取代HHD
技术分享图片

四、 硬盘的组成

技术分享图片
??磁臂:用来移动磁头
??电机:用来站东盘片
??磁头:用来读取盘片上的数据
技术分享图片
?? 每一个硬盘里面都包含着多个盘片,而数据就存储在这些盘片上,每一个盘片都有一个盘面,盘面上有划分着一圈一圈的磁道,每一个磁道上有一小块一小块的扇区,数据就存储在每一个扇区上,每一个扇区是规定512字节,所以一个硬盘的大小就等于
????512*每一个磁道的扇区数*磁道数*盘片数
??但是磁盘的内圈和外圈是不一样大的,划分着同样的扇区数,但是外圈比内圈大也是512字节对于空间上是一大浪费,所以又有了ZBR区位记录磁盘扇区结构如下图
技术分享图片

五、 磁盘的大小

??磁盘大小的单位从小到大的排列
???B KB MB GB TB PB EB ZB YB BB NB DB
???1024 B =1 KB
???1024 KB = 1 GB
???1024 GB = 1 TB

六、 CHS和LBA

??CHS:采用24bit寻址
???其中 前十位表示cylinder,中间8位表示head,后面6位表示sector
???最大寻址空间8GB
??LBA:LBA是一个整数,通过转换成CHS格式完成磁盘具体寻址
???LBA采用48个bit位寻址
???最大寻址空间128PB
??由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘 容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方 式;在磁盘容量大于大概8GB时,则只能使用LBA寻址方式

七、 使用分区空间

?1、 为什么分区

??优化I/O性能
??实现磁盘空间配额限制
??提高修复速度
??隔离系统和程序
??安装多个OS
??采用不同文件系统

?2、 分区的两种方式

??两种分区方式:MBR,GPT
???MBR:分区不超过2T
???GPT:2T以上
??hexdump -C -n 512 /dev/sda -v:查看硬盘主引导信息

?3、 管理分区

??查看分区表
??lsblk 查看分区表(这个命令实际查看的是操作系统内缓存的分区表)
??fdisk -l 查看分区表(这个命令是实时查看的是硬盘中的分区表)
??创建分区使用
???fdisk 创建MBR分区
???gdisk 创建GPT分区
???parted 高级分区操作(创建、复制、调整大小等)
??partprobe重新设置内存中的内核分区表版本

??1. fdisk与gdisk新建分区

??gdisk是类fdisk的GPT分区工具,分区管理模式的子命令
??查看分区
???fdisk -l 查看分区
???fdisk -l /dev/sda 查看sda的分区情况
??管理分区
???fdisk /dev/sdb 进入管理分区模式
?? 分区管理模式的子命令
???p 分区列表
???t 更改分区类型
???n 创建新分区
???d 删除分区
???w 保存并退出
???q 不保存并退出
??例图:
技术分享图片
??使用fdisk命令不是实时生效的,并不是新建了一个分区,就马上给硬盘分区,而是w保存之后才真正的新建了一个个分区

??2. parted命令

???parted的操作都是实时生效的,parted也可以创建删除分区,一旦执行立即就生效了,所以一定要慎重,对于parted命令不熟悉的情况下,建议使用交互模式
???使用parted创建分区前一定要先创建相对应的分区表结构,不然创建分区是无法成功创建的,因为系统不知道创建的是MBR或GPT分区
???parted /dev/sdb mklabel gpt|msdos :创建相对应的分区表结构(gpt分区或mbr分区)
???parted /dev/sdb print :显示sdb的分区表信息
???parted /dev/sdb rm 1:删除sdb上的分区号为1 的分区
???parted -l:列出所有的分区信息
???parted /dev/sdb mkpart primary 1 200 (默认M):创建200M的分区
????1 200:分配从第一硬盘1到200M的空间给新建的分区
????如此再创建第二个分区时这前200M是不能再被分配的,所以第二个只能从未分配的位置开始分配,例: parted /dev/sdb mkpart primary 201 500 ;创建300M的分区,分区大小是由第二个数字减去第一个数字的出来的,单位是MB
???parted /dev/sdb :进入交互模式
???parted交互模式的子命令
????子命令有很多,具体help查看一下,这里就列举几个常用的
????p:列出分区信息
????m:列出交互模式的man信息
????help:列出帮助信息,输出结果跟m的一样
????mklabel:创建磁盘分区表结构
????mkpart:创建分区
????rm:删除分区
????quit:退出
???示例:使用parted命令在交互模式下创建一个200MB的分区和一个1G的分区,然后删除第二个分区并退出。
第一步:进入交互模式
技术分享图片
第二步:创建分区表结构
技术分享图片
第三步:查看分区信息(因为不知道此盘的粪污信息,所以不知道这上面是否有已存在的分区,当选择分区大小时不知从多少M开始,容易出错,以至于分区大小会发生改变)
技术分享图片
第四步:创建第一个200M的分区
技术分享图片
第五步:创建第二个1G的分区
技术分享图片
小知识:注意到第二个分区,我写的分区起始位置是1G至2G,但是使用P命令时,起始位置则变成了1000M和2000M,说明使用parted命令分区是M和G的换算是1000:1,而不是我们认知的1024:1,所以在划分分区时是有强迫症的小伙伴就想要1024M=1G的空间的分区还是要自己算一下的,不要使用选择起始空间时不要使用G做单位
第6步:删除分区
技术分享图片
第七步:退出交互模式
技术分享图片

??3. 查看内核是否已经识别新的分区

???cat /proc/partitions

??4. 通知内核重新读取硬盘分区表

???Centos6:
????新增分区用
?????partx -a /dev/sdb 重新读取 sdb的硬盘分区表(当有新增的分区没有被识别时)
?????Kpartx -a /dev/sdb
????删除分区用:
?????partx /dev/sdb -d –nr 1 :重新读取分区表(当分区号1 的分区被删除时)
???centos 5、7:使用partprobe
????partprobe [dev/device] 同步分区表(删除分区,新建分区都这一个命令)

八、 文件系统

??文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等
??查看系统支持的文件系统:ls /lib/moduls/uname -r/kernel/fs

?1、 文件系统的类型

??Linux文件系统:ext2,ext3,ext4,xfs,btrfs,reiserfs,jfs,swap
??光盘:iso9660
??Windows:FAT32,exFAT,NTFS
??Unix:FFS,UFS,JFS2
??网络文件系统:NFS,CIFS
??集群文件系统:GFS2,OCFS2
??分布式文件系统:fastdfs,ceph,moosefs,mogilefs,glusterfs,Lustre
??RAW:未经处理货位经格式化产生的文件系统

?2、 文件系统分类

??根据其是否支持“journal”功能:
???日志型文件系统:ext3,ext4,xfs
???非日志型文件系统:ext2,vfat
??文件系统的组成部分:
???内核中的模块:ext4.xfs,vfat
???用户空间的管理工具:mkfs,ext4,mkfs.xxfs,mkfs.vfat
??Linux的虚拟文件系统:VFS
??查看当前支持的文件系统:cat /proc/filesystems

?3、 创建文件系统

??1.mkfs 命令

???mkfs.fs_type /dev/device (fs_type:文件系统名,device:设备名)
????例:mkfs.ext4 /dev/sdb1 格式化sdb分区并创建ext4系统
???mkfs -t fs_type /dev/device
???? ? -L ‘label’ :设定卷标

? ? 2.创建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
? ? ? ? -I 一个inode记录占用的磁盘空间大小,128---4096
? ? ? ? -m #: 默认5%,为管理人员预留空间占总空间的百分比
? ? ? ? -O FEATURE[,...]:启用指定特性
? ? ? ? -O ^FEATURE:关闭指定特性

? 4、 文件系统标签

? ? 文件系统的标签就是指向设备的另一种方法,与设备无关

? ? 1. blkid:块设备属性信息查看

? ? ? blkid [选项] [参数] [device]
? ? ? ? -U UUID:根据指定的UUID来查找对应的设备
? ? ? ? -L LABEL:根据指定的LABEL来查找对应的设备
? ? ? 例图:
技术分享图片

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

? ? ? e2label DEVICE [LABEL] :更改设备的文件系统标签
? ? ? 例:
技术分享图片

? ? 3. findfs:查找分区

? ? ? findfs [选项] LABEL=label :根据标签查找分区
? ? ? findfs [选项] UUID=uuid :根据UUID查找分区

? 5、 重新设定ext系列文件系统可调整参数的值

? ? tune2fs [选项] [参数] DEVICE
? ? ? -l:查看指定文件系统超级块信息;super block
? ? ? -L ‘LABEL‘:修改卷标
? ? ? -m #:修预留给管理员的空间百分比
? ? ? -j: 将ext2升级为ext3
? ? ? -O: 文件系统属性启用或禁用, –O ^has_journal
? ? ? -o: 调整文件系统的默认挂载选项,–o ^acl
? ? ? -U UUID: 修改UUID号

? 6、 查看超级块信息,

? ? dumpe2fs [选项] DEVICE :查看设备的超级块信息
? ? ? -h:查看超级块信息,布线是分组信息

九、 文件系统检测和修复

? ? 常发生于死机或者非正常关机之后,挂载为文件系统标记为“no clean”,
? ? 注意:一定不要在挂载状态下修复

? 1、 文件系统检查

? ? fsck.fs_type DEVICE :检测修复设备文件系统,fs_type一定要与分区上文件系统类型一样等同于fsck -t fs_type DEVICE
? ? ? -p: 自动修复错误
? ? ? -r: 交互式修复错误
? ? 例:
技术分享图片

? 2、 ext系列文件专用的检测修复工具

? ? e2fsck [选项] DEVICE 检测修复ext系列文件系统的设备文件
? ? ? -y:自动回答为yes
? ? ? -f:强制修复

十、 设备挂载

? ? 挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其它文件访问入口的行为。通俗来讲就是,我们所存储的那些数据,在我们访问查看时,看似是存储在那一个个的文件或文件夹中,但是实际是存储在硬盘上的,那些方便我们查找访问的文件只是为了方便我们管理那些数据,所以一个硬盘要想为我们所用,存储数据在上面,必须把那个硬盘挂载在某一个目录上,磁盘的空间才能为我们所用,而这个挂载设备的目录被称之为挂载点
? ? 卸载:为解除此关联关系的过程
? ? 挂载点下原有文件在挂载后会被临时隐藏,卸载后会重新显示出来
? ? 挂载点目录一般为空
? ? 通过查看/dev/mtab文件显示当前已挂载的所有设备
技术分享图片
? ? 显示信息以空格分隔 :设备名 挂载点 文件系统 挂载选项 转储频率 自检次序

? 1、 挂载文件系统

? ? 挂载方法:mount [选项] DEVICE mount_point(挂载点)
? ? 例:
技术分享图片
? ? DEVICE:指明要挂载的设备
? ? ? 1. 设备文件:例如/dev/sdb1
? ? ? 2. 卷标:-L ‘LABEL’,例如 -L ‘MYDATA’
? ? ? 3. UUID,-U ‘UUID’:例如 -U ‘0c50523c-43f1- 45e7-85c0-a126711d406e’
? ? ? 4. 伪文件系统名称:proc, sysfs, devtmpfs, configfs
? ? Mount_point(挂载点):必须是个目录
? ? ? 1. 该目录必须事先存在;建议使用空目录
? ? ? 2. 进程正在使用中的设备无法被卸载
? ? mount的选项:
? ? ? -t vsftype:指定要挂载的设备上的文件系统类型
? ? ? -r: readonly,只读挂载
? ? ? -w: read and write, 读写挂载
? ? ? -n: 不更新/etc/mtab,mount不可见
? ? ? -a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab 文件中,且挂载选项中有auto功能)
? ? ? -L ‘LABEL‘: 以卷标指定挂载设备
? ? ? -U ‘UUID‘: 以UUID指定要挂载的设备
? ? ? -B, --bind: 绑定目录到另一个目录上
? ? ? -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, nosuid, dev, exec, auto, nouser, async
? ? ? ? 不带任何选项默认为:
? ? ? ? ? rw制度挂载;
? ? ? ? ? nosiud不支持suid和sgid权限;
? ? ? ? ? dev支持在此文件系统上使用设备文件
? ? ? ? ? exec支持将文件件系统上运行应用程序
? ? ? ? ? auto支持自动挂载
? ? ? ? ? nouser不允许普通用户挂载此设备,
? ? ? ? ? async异步模式

? 2、 查看内核追踪到的已挂载的所有设备

? ? cat /proc/mounts
技术分享图片

? 3、 查看正在访问指定文件系统的进程

? ? lsof MOUNT_POINT
技术分享图片
? ? fuser -v MOUNT_POINT
技术分享图片
? ? lsof和fuser的区别就是使用lsof显示的信息更全面一些,而fuser显示的信息如果多个进程都是同一个用户发起的,则只显示进程号最小的那一条

? 4、 查看挂载情况

? ? findmnt MOUNT_POINT
技术分享图片

? 5、 终止所有正访问指定的文件系统的进程

? ? fuser -km MOUNT_POINT
技术分享图片
? ? 由于我在杀死这些正在访问指定的文件的进程时正在该目录下,以至于当前登录的用户也被下线了

? 6、 卸载

? ? umount DEVICE
? ? umount MOUNT_POINT
? ? 使用umonut卸载设备时后面可以跟设备名也可以跟挂载点,
? ? 例
技术分享图片

? 7、 文件挂载配置文件/etc/fstab

? ? /etc/fstab文件的作用:
? ? ? 配置文件系统体系
? ? ? 被mount、fsck和其他程序使用
? ? ? 系统重启时保留文件系统体系(使用mount挂载设备时只是临时挂载,在系统重启后挂载就消失了,只有把挂载信息写入/etc/fstab中,重启后才会自动挂载)
? ? ? 可以在设备栏使用文件系统卷标
? ? 使用mount -a命令挂载/etc/fstab中的所有文件(当不使用mount命令挂载设备时,只是临时的,重启后就没有了,还得重新挂载,想要永久的让它自动挂载就得把挂载信息写入/etc/fstab文件中,但是仅写入文件中,却没有使用mount命令,是只有重启后才会被自动挂载,想让它当前也生效就可以使用mount -a 命令自动挂载/etc/fstab文件中的所有文件系统)

? ? 1. 查看/etc/fstab文件

技术分享图片
? ? ? /etc/fstab每行定义一个要挂载的文件系统,
? ? ? 要挂载的设备或伪文件系统
? ? ? ? 设备文件
? ? ? ? LABEL:LABEL=""
? ? ? ? UUID:UUID=""
? ? ? 伪文件系统名称:proc, sysfs
? ? ? 挂载点:目录
? ? ? 文件系统类型
? ? ? 挂载选项:defaults(默认),参考mount命令的-o选项的参数
? ? ? 转储频率:0:不做备份 ;1:每天转储; 2:每隔一天转储
? ? ? 自检次序: 0:不自检 ;1:首先自检;一般只有rootfs才用1

? 8、 处理交换文件和分区

? ? 交换分区是系统RAM的补充,当物理内存不够用时系统就会调用交换分区(swap)或交换文件当做内存来使用
? ? 交换分区的基本设置包括:
? ? ? 创建交换分区或文件(可以创建一个分区当做交换分区使用,也可以创建一个空目录当做交换文件使用)
? ? ? 使用mkswap写入特殊签名
? ? ? Mkswap devive(交换分区设备名)
? ? ? 在/etc/fstab -a 激活交换空间(写在/etc/fstab中是永久的挂载)

? ? 1. 查看当前swap的大小

? ? ? free :查看当前内存和swap的大小和使用率
? ? ? swapon -s:仅查看虚拟内存swap的大小
? ? ? cat proc/swaps :查看结果跟swapon -s 一样

? ? 2. 挂载交换分区

? ? ? 启用:swapon
? ? ? swapon [选项] [device]:启用交换分区,相当于挂载
? ? ? ? -a:激活写入/etc/fstab文件中的所有的交换分区
? ? ? ? -p oriority:指定优先级
? ? ? ? -s:显示当前挂载的交换分区
技术分享图片
? ? ? swapon 后不跟选项,只有设备,表示临时挂载,在重启系统后被卸载,不会自动挂载;例:swapon /dev/sdb1
? ? ? 禁用:swpaoff
? ? ? ? Swapoff [选项] [device] 卸载交换分区

? ? 3. Swap的优先级

? ? ? 可以指定swap分区0到32767的优先级,值越大优先级越高
? ? ? 如果用户没有指定,那么核心会自动给swap指定一个优先级,这个优先级从-1开始,每加入一个新的没有用户指定优先级的swap,会给这个优先级减1
? ? ? 先添加的swap的缺省优先级比较高,除非用户自己及指定一个优先级,而用户的优先级(是正数)永远高于核心缺省指定的优先级
? ? ? 优化性能:分布存放,高性能磁盘存放

? ? 4. 永久性挂载交换分区

? ? ? 想要永久性的挂载交换分区,除了要做以上的操作外,还要把挂载信息编写在/etc/fstab文件中
? ? ? 编辑/etc/fstab文件
? ? ? ? vim /etc/fstab
? ? ? 如要将设备/sdb1设置为交换分区,并重启后自动挂载就添加以下一行内容
? ? ? ? /dev/sdb1 swap swap defaults 0 0
? ? ? 然后执行命令
? ? ? ? swapon -a

? ? 5. 挂载交换分区示例

? ? ? 第一步:创建交换分区(如果有现成的未挂载的未存储数据的分区可以使用,则可以省去这一步,如果没有其实就跟创建新分区步骤一样)
技术分享图片
? ? ? 第二步:使用mkswap写入特殊签名
技术分享图片
? ? ? 第三步:挂载交换分区
技术分享图片

? 9、 挂载移动介质

? ? 挂载意味着使外来的文件系统看起来如同是主目录树的一部分
? ? 访问前、介质必须被挂载
? ? 摘除时、介质必须被卸载(否则很可能会导致数据的丢失)
? ? 按照默认设置,非root用户只能挂载某些设备(光盘、DVD、软盘、USB等等)
? ? 挂载点通常在/media或/mnt下

? ? 1. 使用光盘

? ? ? 在图形环境下自动启动挂载
? ? ? 否则就必须被手工挂载
? ? ? ? mount /dev/cdrom /mnt/
? ? ? 卸载可以用umount卸载
? ? ? eject命令卸载或弹出磁盘
? ? ? 创建ISO文件
? ? ? ? cp /dev/cdrom /root/centos7.iso :将一个光盘的内容制作成ISO文件
? ? ? ? mkisofs -r -o /root/etc.iso /etc:将一个目录下的文件制作成一个ISO文件
? ? ? 刻录光盘
? ? ? ? wodim –v –eject centos.iso

? ? 2. 挂载USB介质

? ? ? 1. 查看USB设备是否识别

? ? ? ? lsusb

? ? ? 2. 在图形环境中自动挂载

? ? ? ? 图标在[计算机]窗口中创建
? ? ? ? 挂载在/run/media/\<user>\<label>

? ? ? 3. 手动挂载

? ? ? ? mount /dev/sdb1 /mnt

? 10、 常见工具

? ? 内存空间使用状态
? ? ? free [OPTION]
? ? ? ? -m: 以MB为单位
? ? ? ? -g: 以GB为单位
? ? 文件系统空间占用等信息的查看工具
? ? ? df [OPTION]... [FILE]...
? ? ? -H 以1000为单位
? ? ? -T 文件系统类型
? ? ? -h: human-readable
? ? ? -i:inodes instead of blocks
? ? ? -P: 以Posix兼容的格式输出
? ? 查看某目录总体空间占用状态
? ? ? du [OPTION]... DIR
? ? ? ? -h: human-readable
? ? ? ? -s: summary

? 11、 工具dd

? ? dd命令:转换和复制文件
? ? ? dd if=src of=dest bs=# count=#
? ? ? ? if=file : 源文件src
? ? ? ? of=file : 目标文件dest
? ? ? ? bs=size:指定块大小(既是ibs也是obs)
? ? ? ? ibs=size:一次读size个byte
? ? ? ? obs=size:一次写size个byte
? ? ? ? cbs=size:一次转化size个byte
? ? ? ? skip=blocks:从开头忽略blocks大小的块
? ? ? ? seek=blocks:从开头忽略blocks个obs大小的块
? ? ? ? count=n:只拷贝n个记录
? ? ? ? conv=conversion[,conversion...]:用指定的参数转换文件
? ? ? ? ? 转换参数:
? ? ? ? ? ascii 转换 EBCDIC 为 ASCII
? ? ? ? ? ebcdic 转换 ASCII 为 EBCDIC
? ? ? ? ? lcase 把大写字符转换为小写字符
? ? ? ? ? ucase 把小写字符转换为大写字符
? ? ? ? ? nocreat 不创建输出文件
? ? ? ? ? noerror 出错时不停止
? ? ? ? ? notrunc 不截短输出文件
? ? ? ? ? sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字 符补齐
? ? 示例:

? ? 1. 有一个大与2K的二进制文件fileA。现在想从第64个字节位置 开始读取,需要读取的大小是128Byts。又有fileB, 想把上 面读取到的128Bytes写到第32个字节开始的位置,替换 128Bytes,实现如下:

? ? ? dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc

? ? 2. 备份

? ? ? dd if=/dev/sdx of=/dev/sdy 将本地的/dev/sdx整盘备份到/dev/sdy
? ? ? dd if=/dev/sdx of=/path/to/image 将/dev/sdx全盘数据备份到指定路径的image文件
? ? ? dd if=/dev/sdx | gzip >/path/to/image.gz 备份/dev/sdx全盘数据,并利用gzip压缩,保存到指定路径

? ? 3. 恢复

? ? ? dd if=/path/to/image of=/dev/sdx 将备份文件恢复到指定盘
? ? ? gzip -dc /path/to/image.gz | dd of=/dev/sdx 将压缩的备份文件恢复到指定盘

? ? 4. 拷贝内存资料到硬盘

? ? ? dd if=/dev/mem of=/root/mem.bin bs=1024 将内存里的数据拷贝到root目录下的mem.bin文件

? ? 5. 从光盘拷贝ISO镜像

? ? ?dd if=/dev/cdrom of=/root/cd.iso 拷贝光盘数据到root文件夹下,并保存为cd.iso文件

? ? 6. 销毁磁盘数据

? ? ? dd if=/dev/urandom of=/dev/sda1
? ? ? 利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据 ,执行此操作以后,/dev/sda1将无法挂载,创建和拷贝操作 无法执行

? ? 7. 得到最恰当的block size

? ? ? dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
? ? ? dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
? ? ? dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
? ? ? 通过比较dd指令输出中所显示的命令执行时间,即可确定系统 最佳的block size大小

? ? 8. 测试硬盘写速度

? ? ? dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

? ? 9. 测试硬盘读速度

? ? dd if=/root/1Gb.file bs=64k | dd of=/dev/null

? ? 10. 修复硬盘

? ? ? dd if=/dev/sda of=/dev/sda
? ? ? 当硬盘较长时间(比如1,2年)放置不使用后,磁盘上会 产生消磁点。当磁头读到这些区域时会遇到困难,并可能 导致I/O错误。当这种情况影响到硬盘的第一个扇区时, 可能导致硬盘报废。上边的命令有可能使这些数据起死回 生,且这个过程是安全高效的

磁盘管理

标签:磁盘管理   创建文件系统   挂载卸载设备   磁盘分区   dd工具   

原文地址:http://blog.51cto.com/13570214/2084923

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!