linux磁盘管理补充之挂载选项及常用工具

一、文件挂载的配置文件

        配置文件:/etc/fstab

要挂载的设备的UUID或卷标或/dev/sd[a-z]    挂载点           文件系统类型   挂载选项      转储频率  自检次序
UUID=8ecfb3ed-37d8-43cd-a1ec-8a4be6fa5973 /                   ext4    defaults        1         1
UUID=8e1235ed-a2b5-4293-8fae-42b4f249a614 /boot                 ext4    defaults        1         2
UUID=1c47e765-0247-4526-b1e3-8a013b5c47c5 swap                 swap    defaults        0         0

        挂载选项:默认是default ,也可以直接在此处添加需要挂载的选项如:acl,rw;还需要注意的是centos6 默认不具有acl挂载选项,centos7有。

                         1、光盘iso9660 挂载选项要选择loop(文件也要加loop选项)。

1.png

                        2、目录挂载到目录时,文件系统出选择none,挂载选项选择bind。

2.png

                        3、因为UUID是设备的唯一标识,因此为避免错误最好使用UUID,在填写UUID时我们可以在末行模式下输入:r!blkid /dev/sda1 既可插入信息,然后在编辑即可。

        转储频率:0:不做备份

                         1:每天转储

                         2:每隔一天转储

        自检次序:0:不自检

                         1:首先自检,一般只有rootfs才用1,如果此处值为非1,如果要挂载的设备处存在错误,在重新启动的系统时,会导致系统起不来,截图如下:

截图20160829204812.png

                                    此时,输入密码后,直接编辑vim /etc/fstab 会提示我们目前是只读挂载,不能修改,因此我们可以通mount -o remount,rw /  然后在编辑配置文件修改后重启即可。

                                    还有当我们修改完配置文件后,如果mount -a 之后执行mount命令发现没有更新,可通过mount -o remount 挂载点,重新挂载即可。

            losetup命令
                    功能: 实现loop 设备和文件关联
                        dd if=/dev/zero of=/testdir/bigfile bs=1M count=500
                        losetup  /dev/loop7 /testdir/bigfile   关联指定文件
                        mkfs.ext4 /testdir/bigfile
                        mount /dev/loop7  /mnt/bigfile/    此处由于是设备了就不需要加-o loop了
                        losetup -a  centos6 需要加-a centos7 不需要

二、处理交换文件和分区

        交换分区系统RAM的补充,只有当系统内存不够时,才会使用swap分区。

                启用交换分区:swapon

                    swapon [option]…[device]

                        -a:激活所有的交换分区

                        -s:查看swap分区的挂载信息

                        -p #:指定交换分区的优先级,数越大,优先级越高,也可以在fstab文件中挂载选项处pri=#指定优先级

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

    

                禁用交换分区:swapoff

                    swapon [option]…[device]

            应用举例:创建swap分区

                    1、fdisk 创建一个1G的分区,然后调整分区id为82,保存退出。(也可以通过dd if=/dev/zero of=/testdir/swapfile bs=1M count=1024创建一个文件,然后在格式化挂载)

1.png

                    2、格式化分区。

2.png

                    3、挂载分区,如果我们挂载完之后,再次编辑挂载选项时,应该先swapoff /dev/sd#,然后在swapon -a

3.png

                    4、激活分区并查看swap分区信息

4.png

                    5、取消挂载

1.png


三、使用光盘和USB

                光盘:
            在图形环境下自动启动挂载
                        /run/media/<user>/<label>
            否则就必须被手工挂载
                        mount /dev/cdrom /mnt/
            卸载或弹出磁盘:eject
            创建挂载ISO文件:
                        cp /dev/cdrom /root/centos7.iso
                        mkisofs -r -o /root/etc.iso /etc
            刻录光盘
                        wodim –v –eject centos.iso
          
            USB:

                被内核探测为SCSI设备
                        /dev/sdaX、 /dev/sdbX、或类似的设备文件
                在图形环境中自动挂载
                        图标在[计算机]窗口中创建,如果要连接到虚拟机上面先到断开与物理主机的连接, linux中拷贝完 数据要同步,sync至少执行三次。
                        挂载在/run/media/<user>/<label>
                手动挂载
                        mount /dev/sdb1 /mnt


四、常用工具


        查看内存空间的使用状态:

                    free [option]:

                            -m:以MB为单位

                             -g:以GB为单位

         查看已经挂载的文件系统:

                     df [option]…[file]…

                            -H:以1000位单位

                            -T:显示文件系统类型

                            -h:human

                             -i:显示inode替代blocks

                            -P:以Posix兼容的格式输出

          查看某目录总空间占用状态及大小:

                       du [option]…DIR

                            -h:human

                            -s:总大小

            创建、复制、转换文件:dd

                    用法:dd if=/path/from/src of=/path/to/dest bs=#(指定大小) count=#(指定多少个)

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

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

                    bs=size       指定块大小

                    obs=size      一次写size个byte

                    ibs=size        一次读size个byte

                    cbs=size        一次转化size个byte

                    skip=block    从开头忽略block个ibs大小的块(忽略的是if中的文件中的块)

                    seek=block    从开头忽略block个obs大小的块(忽略的是of中的文件中的块)

                    count=n         只拷贝n个记录

  

                    conv=conversion[,conversion…] 用指定的参数转换文件。
                      转换参数:
                            ascii 转换 EBCDIC 为 ASCII
                            ebcdic 转换 ASCII 为 EBCDIC
                            block 转换为长度为 cbs 的记录,不足部分用空格填充。
                            unblock 替代cbs长度的每一行尾的空格为新行
                            lcase 把大写字符转换为小写字符
                            ucase 把小写字符转换为大写字符
                            swab 交换输入的每对字节
                            noerror 出错时不停止
                            notrunc 不截短输出文件
                            sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐 

         应用举例:

                磁盘拷贝:
                        dd if=/dev/sda of=/dev/sdb
                备份MBR:
                        dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
                破坏MBR中的bootloader
                        dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
                有一个大于2K的二进制文件fileA。 现在想从第64个字节位置开始读取,需要读取的大小是128Byts。又有fileB, 想把上面读取到的128Bytes写到第32个字节开始的位置,替换128Bytes,请问如何实现?
                        dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc

                备份:

                将本地的/dev/sdx整盘备份到/dev/sdy
                        dd 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


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

                拷贝内存资料到硬盘

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

                从光盘拷贝iso镜像

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


                销毁磁盘数据

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


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


                测试硬盘读写速度
                        dd if=/root/1Gb.file bs=64k | dd of=/dev/null
                        dd if=/dev/zero of=/root/1Gb.file bs=1024
                        count=1000000
                        通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度

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

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

(1)
NarutoNaruto
上一篇 2016-08-30
下一篇 2016-08-30

相关推荐

  • 正则

    Edit 正则 概述: 正则表达式,Regular Expression,缩写regex、regexp、RE 正则表达式是文本处理极为重要的技术,用它可以对字符串按照某种规则进行检索、替换 1970年,Unix之父ken Thompson将正则表达式引入到Unix中文本编辑器ed和grep命令中,由此正则表达式普及开来 1980年后,perl语言对Henry…

    Linux干货 2017-11-06
  • LVM逻辑卷扩展与缩小

    逻辑卷扩容:扩展逻辑卷前一定要卸载设备和挂载点的关联 第一步:把逻辑卷lv扩展至300M 第二步:检查硬盘,并重置硬盘容量 第三步:重新挂载,查看挂载状态   缩小逻辑卷:对逻辑卷缩容时,丢失数据的风险更大。在执行操作前一定要提前备份好数据。在进行缩减前先把文件系统卸载掉。 第一步:检查文件 第二步:把逻辑卷lv减小到100M 第三步:重新挂载并查…

    2017-12-17
  • 图解 lvs 工作原理

    一.lvs 基本工作流程介绍  如图1,ipvsadm定义lvs服务监听的ip和port,并发送给ipvs,而ipvs是工作在netfilter的input钩子上的程序,当input链中有目标ip属于lvs服务的请求报文时,ipvs就会修改该报文的链路,使其不进入用户空间而直接转到postrouting链上,并转发给其中一台real server,…

    Linux干货 2016-10-30
  • 初窥门径shell脚本

    1.什么是shell脚本    首先它是一个脚本,并不能作为正式的编程语言。因为是跑在linux的shell中,所以叫shell脚本。确切的说shell脚本就是一些命令的集合。 2.写脚本前的一些细节及建议   Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已…

    Linux干货 2016-08-15
  • magedu_20160808

    行编辑器sed与vim文本处理器     一.行编辑器sed的使用介绍     sed英文全称stream editor,行编辑器。其工作模式为将文件中内容按行转移至sed模拟空间中,根据地址判定此行是否匹配,如果匹配,根据命令输出并打印,如果不匹配,按照默认打印到屏幕上。它的作用是根据选项和地址界定‘scr…

    Linux干货 2016-08-10
  • Linux基础知识之cp mv rm

    该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统和sjsir普通用户身份登录系统。 为什么要学习cp、mv、rm命令?     cp、mv、rm命令为Linux系统使用最长使用的三个命令之一,复制、移动和删除是我们平时处理一些文件必须要学会的命令,应该用于熟练掌握和使用的…

    Linux干货 2016-07-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 12:53

    内容整体很完整,如果加上挂载的概念及挂载的目的会让文章整体更有说服力,突显用心