磁盘管理(二)之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

相关推荐

  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2016-11-02
  • Linux命令学习

    阅读目录 Linux cat命令 file命令 dd命令 hexdump命令 cat命令   cat三大功能:      1.一次显示整个文件:cat filename      2.从键盘创建一个文件:cat > filename 注意只能创建新文件,…

    Linux干货 2017-07-16
  • 计算机组成、Linux命令基础

    计算机组成 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息…

    Linux干货 2016-09-19
  • Linux网络协议命令介绍(3)

      在上一章中,我们谈到了网络协议以及TCP传输层说明,下面我们来介绍一下序列号和确认好有什么区别之外,以及基本的网络命令。 1、序列号和确认号有什么区别? 2、网络功能 3、网络命令 4、配置文件 1、序列号和确认号有什么区别?   发送方与接收方的发送请求,把SYN设置为1,TCP报文出去都有个号码,随机生成称为序…

    Linux干货 2016-11-29
  • 网络接口Bonding以及网络组

    网络接口Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 网络组 :网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量。网络组不同于旧版中bonding技术,提供更好的性能…

    Linux干货 2016-11-23
  • 网络管理

    网络管理 本章内容 网络概念 OSI模型 网络设备 TCP/IP IP地址 配置网络 实现网络组 测试网络 网络工具 为linux网卡配置ip地址,不是给网卡配置地址,是给内核的网络功能配置,地址是属于内核。为内核配置即时生效,修改配置文件,是永久生效。ifconfig 配置信息,会立即生效,但是重启网络服务或主机,都失效。网络服务/etc/init.d/n…

    Linux干货 2016-09-05

评论列表(1条)

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

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