磁盘管理(二)之swap、dd工具使用

磁盘管理(二)之swap、dd工具使用

 

一、挂载点和/etc/fstab

  1)配置文件/etc/fstab,当系统启动时,自动加载该文件,会把写在配置文件里面的所有挂载点全部自动挂载上去,只要按照格式写,就不会丢失。

  2)文件挂载配置文件,如下图:

   blob.png 

/etc/fstab每行定义一个要挂载的文件系统;

  要挂载的设备或伪文件系统(设备文件、LABEL(LABEL="")UUID(UUID="")、伪文件系统名称(proc, sysfs)

       挂载点

       文件系统类型(光盘:iso9660;文件挂文件的类型则为:none,选项为bind

       挂载选项 defaults——相当于rw, suid, dev, exec, auto, nouser, async

       转储频率(0:不做备份;1:每天转储;2:每隔一天转储)

       自检次序(0:不自检;1:首先自检;一般只有rootfs才用1

3 使用mount -a 命令生效挂载在/etc/fstab中的所有文件系统

4)使用文件来模拟分区,用来测试格式化等操作(当磁盘空间已经全部分完),则可以使用下面的命令来创建:

     #dd if=/dev/zero of=/testdir/partfile bs=1M count=500

 blob.png

如上图,同样可以使用格式化命令mkfs.ext4都可以对该文件进行格式化。

当格式化完成后,使用命令blkid查看时是没有改文件系统的,则需要使用mount命令来进行挂载,如下图:

blob.png

但在挂载的过程中会出现下图中错误,需要按照提示来添加相应的选项即可。

blob.png

挂载完成后,使用命令#mount,可以看到,这文件的挂载是映射到了/dev/loop上。通过这样设置,可以通过文件来做“移动硬盘”使用。

 blob.png

(注:在CentOS6上,loop设备默认是8个;在CentOS7上,loop则是随机生成,没有数量上的限制。如果是使用loop设备来挂载,则使用命令#losetup /dev/loop3 /testdir/partfilemount /dev/loop3 /mnt/partfile3

通过在/etc/fstab上设置,让系统开机自检挂载(永久生效自动挂载)

blob.png

二、swap交换分区:

1swap交换分区是系统RAM的补充。

(如下图,命令#free显示的以k为单位;#free -m是以M为单位显示;#free -g是以G为单位显示)

blob.png

2、如何知道系统中的swap是由谁提供的?

命令#cat /proc/swaps

blob.png

3、由于分区的局限性(已经分好分区的swap是无法扩展的),因此如何进行swap的增加,如下图:

blob.png

新分区做为swap,并修改分区编号保存后,如下图:

blob.png

4、格式化swap

mkswap -L swap_sba6 /dev/sda6

blob.png

blob.png

5、修改/etc/fstab

blob.png

6、激活所有的swap

#swapon –a

(注:可以使用命令#swapon -s 查看激活的swap

blob.png

7、设置swap的优先级:

pri的设置为032767

#vim /etc/fstab

defaults的默认设置优先级是负数,所以需要手动去设置swap的优先级,如下图:

blob.png

/etc/fstab设置完优先级后,要使用命令#swapoff /dev/sda6禁用;再用命令#swapon -a 激活

blob.png

8swap的优先级了解:

如果用户没有指定,那么核心会自动给swap指定一个优先级,这个优先级从-1开始,每加入一个新的没有用户指定优先级的swap,会给这个优先级减一。

先添加的swap的缺省优先级比较高,除非用户自己指定一个优先级,而用户指定的优先级(是正数)永远高于核心缺省指定的优先级(是负数)

优化性能:分布存放,高性能磁盘存放

9、使用文件来做swap

(当磁盘的分区把空间全部用完了,可以考虑使用文件来做swap分区)如下图:

blob.png

blob.png

blob.png

生效:#swapon -a

blob.png

10swap的删除:

首先要禁用:#swapoff /dev/sda6  #swapoff /testdir/swapfile

blob.png

然后到配置文件/etc/fstab上删除相应的添加记录,删除相应的分区和文件(rm -rf /testdir/swapfile)即可。

blob.png

三、移动介质挂载使用:(移动硬盘因为格式为ntfs使用不了)

#mount /dev/sd? /mnt/usb

拔除U盘前需要做的动作是命令#sync(最好执行三次,以免数据没有写入到U盘上)

#umount /mnt/usb 然后拔除U

四、光盘的使用

mount /dev/cdrom/mnt/

eject命令卸载或弹出光驱磁盘;eject -t 弹入光驱

创建ISO文件:

cp /dev/cdrom /root/centos7.iso

mkisofs -r -o /root/etc.iso  /etc (将目录打包成ISO,作为备份)

刻录光盘:wodim -v -eject centos.iso

五、常见工具:

  内存空间使用状态:free

  -m: MB为单位

  -g: GB为单位

 blob.png

 文件系统空间占用等信息的查看工具:df

 -H 1000为单位

 blob.png

 -T 文件系统类型

 blob.png

 -h: human-readable

 blob.png

 -iinode sinstead of blocks

 -P: Posix兼容的格式输出(较多用于设备名称过长、显示不整齐时)

 blob.png

 查看某目录总体空间占用状态:du

 -h: human-readable

 -s: summary

 blob.png

六、dd工具的使用:

   1dd命令:convert and copy a file

   2、用法:

ddif=/PATH/FROM/SRC of=/PATH/TO/DEST

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

count=#:复制多少个bs

of=file写到所命名的文件而不是到标准输出

if=file从所命名文件读取而不是从标准输入

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

ibs=size一次读sizebyte

obs=size 一次写sizebyte

cbs=size 一次转化sizebyte

skip=blocks从开头忽略blocksibs大小的块

seek=blocks从开头忽略blocksobs大小的块

count=n只拷贝n个记录

cbs=size 一次转换多少byte

   3conv=conversion[,conversion…] 用指定的参数转换文件。

     转换参数:

     ascii 转换EBCDIC ASCII

     ebcdic 转换ASCII EBCDIC

     block 转换为长度为cbs 的记录,不足部分用空格填充。

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

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

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

     nocreate不创建输出文件

     noerror 出错时不停止

     notrunc 不截短输出文件。

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

   4、磁盘拷贝:ddif=/dev/sdaof=/dev/sdb

     备份MBRddif=/dev/sdaof=/tmp/mbr.bakbs=512 count=1

     破坏MBR中的bootloaderddif=/dev/zero of=/dev/sdabs=64 count=1 seek=446

   5、备份:

将本地的/dev/sdx整盘备份到/dev/sdydd if=/dev/sdx of=/dev/sdy

/dev/sdx全盘数据备份到指定路径的image文件:dd if=/dev/sdx of=/path/to/image

备份/dev/sdx全盘数据,并利用gzip工具进行压缩,保存到指定路径:dd if=/dev/sdx|gzip >/path/to/image.gz

  6、恢复:

将备份文件恢复到指定盘:dd if=/path/to/image of=/dev/sdx

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

   7、拷贝内存资料到硬盘

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

从光盘拷贝iso镜像:dd if=/dev/cdrom of=/root/cd.iso

   8、销毁磁盘数据

dd if=/dev/urandom of=/dev/sda1

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

   9、得到最恰当的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 if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小

   10、测试硬盘读写速度

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

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

通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度

   11、修复硬盘

dd if=/dev/sda of=/dev/sda

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

 

  

1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/testdir目录,且默认有acl挂载选项

 blob.png

 blob.png

 blob.png

 blob.png

 blob.png

 blob.png

2、写一个脚本,完成如下功能:

(1) 列出当前系统识别到的所有磁盘设备;

(2) 如磁盘数量为1,则显示其空间使用信息;

否则,则显示最后一个磁盘上的空间使用信息;

 

 脚本代码:

 blob.png

 脚本执行效果:

 blob.png

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

(1)
Aaron_wangAaron_wang
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • kickstart+ftp+dhcp+tftp实现centos6的无人值守安装

    环境IP : 172.16.0.32 centos 6.6 一.安装相关包 安装图形界面 [root@localhost ~]# yum groupinstall “Desktop” “X Window System” “Chinese Support” [root@localhost ~]# yum -y install dhcp tftp-server …

    Linux干货 2017-06-03
  • 中文man安装手册

      首先需要确认的是有没有安装中文支持,如果没有请安装:#yum groupinstall -y "Chinese Support" 现在下载安装包: wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz  (这个wget是直接网页下…

    系统运维 2016-01-13
  • N25第三周视频博客 find命令详解

    视频作业:find命令详解 大纲:         1、什么是find 2、find能实现什么功能 3、为什么要使用find 4、如何使用find 5、find各参数详解   1、什么是find      find是linux 命令,它将档案系统内符合 expression(表达…

    Linux干货 2016-12-15
  • 关于高级文件管理系统的几个实验

    实验1:用软件模拟生成RAID (1)选择磁盘或者创建新的分区lsblk 选择bcde四块磁盘 创建新的分区 每个为5Gfdisk(gdisk) /dev/sdb 交互式方式创建 选择分区ID为raid 6.7编号不一样!!! >可能需要同步内核中的磁盘分区表 centos6中用partx -a centos7中用 partprobe命令 (2)创建R…

    2017-08-12
  • 2016-08-18博客作业

    case 语句 条件判断语句 case 用 变量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; … *) 默认分支 ;; esac   case 支持glob 风格的通配符: *       任意长度任意字符 ?    &…

    Linux干货 2016-09-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 14:15

    文章结构层次清晰,内容完整,图文并貌,同时通过自己的实际操作,巩固了当天所学的知识。建议多加练习,熟练运用。