处理交换文件和分区

处理交换文件和分区

交换分区是系统RAM的补充  

基本设置包括: 

1 创建交换分区或者文件 

2 使用mkswap写入特殊签名 

3 在/etc/fstab文件中添加适当的条目 

4 使用swapon -a 激活交换空间

挂载交换分区

 启用:swapon swapon [OPTION]… [DEVICE] 

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

-p PRIORITY:指定优先级 

   /etc/fstab:pri=value  

   禁用:swapoff [OPTION]… [DEVICE]

SWAP的优先级

 

1 用户可以给某个swap指定一个0到32767的优先级  

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

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

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

移动介质

1 挂载意味着使外来的文件系统看起来如同是主目录树的一部分  

2 访问前、介质必须被挂载  

3 摘除时,介质必须被卸载  

4 按照默认设置,非根用户只能挂载某些设备(光盘、DVD、软 盘、USB等等)  

5 挂载点通常在/media 或/mnt下

使用光盘

1 在图形环境下自动启动挂载/run/media/<user>/<label>  

2  否则就必须被手工挂载 

3 mount /dev/cdrom /mnt/ 

4 eject命令卸载或弹出磁盘  

5 创建ISO文件 

   cp /dev/cdrom /root/centos7.iso 

   mkisofs  -r  -o  /root/etc.iso /etc  

6 刻录光盘 wodim –v –eject centos.iso

挂载USB介质  

1 被内核探测为SCSI设备 

    /dev/sdaX、/dev/sdbX、或类似的设备文件  

2 在图形环境中自动挂载 

  图标在[计算机]窗口中创建 

  挂载在/run/media/<user>/<label> 

3 手动挂载 

  mount /dev/sdb1 /mnt

  常见工具

内存空间使用状态: 

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

工具dd 

dd命令:convert and copy a file  

用法: 

  dd if=/PATH/FROM/SRC of=/PATH/TO/DEST 

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

  count=#:复制多少个bs 

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

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

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

4 ibs=size 一次读size个byte 

5 obs=size 一次写size个byte 

6 cbs=size 一次转化size个byte 

7 skip=blocks 从开头忽略blocks个ibs大小的块 

8 seek=blocks 从开头忽略blocks个obs大小的块 

9 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  

 举例如下

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

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

备份: 

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工具进行压缩,保存到指定路径

 恢复: 

dd if=/path/to/image of=/dev/sdx 

 将备份文件恢复到指定盘 

gzip -dc /path/to/image.gz | dd of=/dev/sdx 

 将压缩的备份文件恢复到指定盘

 拷贝内存资料到硬盘 

dd if=/dev/mem of=/root/mem.bin bs=1024 

   将内存里的数据拷贝到root目录下的mem.bin文件 

   从光盘拷贝iso镜像 

dd if=/dev/cdrom of=/root/cd.iso 

   拷贝光盘数据到root文件夹下,并保存为cd.iso文件  销毁磁盘数据 

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

   利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据 。执行此操作以后,/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/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大小

测试硬盘读写速度 

   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错误。当这种情况影响到硬盘的第一个扇区时 ,可能导致硬盘报废。上边的命令有可能使这些数据起死 回生。且这个过程是安全,高效的。

【2】用户配额 设置 raid卡 的 级别 以及raid卡的设置 raid 5

配置配额系统

综述  在内核中执行  以文件系统为单位启用  对不同组或者用户的策略不同 根据块或者节点进行限制  执行软限制(soft limit)  硬限制(hard limit) 初始化  分区挂载选项:usrquota、grpquota  初始化数据库:quotacheck

为用户设定配额

  1 执行开启或者取消配额:

    quotaon、quotaoff  

  2 直接编辑配额:

    edquota  username  

  3 在shell中直接编辑: 

    setquota  usename  4096  5120  40 50 /foo  

  4 定义原始标准用户 

    edquota  -p  user1  user2

报告配额状态

报告  

用户调查:quota  

配额概述:repquota  

其它工具:warnquota

raid卡 简介

RAID:Redundant Arrays of Inexpensive( Independent) Disks 1988年由加利福尼亚大学伯克利分校(University of California-Berkeley) “A Case for Redundant Arrays of Inexpensive Disks”。  多个磁盘合成一个“阵列”来提供更好的性能、冗余,或 者两者都提供

raid卡的 优势

 1 提高IO能力: 磁盘并行读写  

 2 提高耐用性; 磁盘冗余来实现  级别:多块磁盘组织在一起的工作方式有所不同 R

 AID实现的方式: 

     外接式磁盘阵列:通过扩展卡提供适配能力 

     内接式RAID:主板集成RAID控制器  

     安装OS前在BIOS里配置 Software RAID:

 RAID级别 

 

 RAID-0:条带卷,strip 

 RAID-1: 镜像卷,mirror 

 RAID-2 .. 

 RAID-5 

 RAID-6 

 RAID-10 

 RAID-01

RAID-0: 读、写性能提升; 可用空间:N*min(S1,S2,…) 无容错能力 最少磁盘数:2, 2 

RAID-1: 读性能提升、写性能略有下降; 可用空间:1*min(S1,S2,…) 有冗余能力 最少磁盘数:2, 2N 

RAID-4: 多块数据盘异或运算值,存于专用校验盘

RAID-5: 读、写性能提升 可用空间:(N-1)*min(S1,S2,…) 有容错能力:允许最多1块磁盘损坏 最少磁盘数:3, 3+

RAID-6: 读、写性能提升 可用空间:(N-2)*min(S1,S2,…) 有容错能力:允许最多2块磁盘损坏 最少磁盘数:4, 4+

RAID混合类型级别 

RAID-10: 读、写性能提升 可用空间:N*min(S1,S2,…)/2 有容错能力:每组镜像最多只能坏一块 最少磁盘数:4, 4+ 

RAID-01、

RAID-50 

RAID7: 可以理解为一个独立存储计算机,自身带有操作系 统和管理工具,可以独立运行,理论上性能最高的RAID模式 JBOD:Just a Bunch Of Disks 功能:将多块磁盘的空间合并一个大的连续空间使用 可用空间:sum(S1,S2,…)  常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

软RAID 

mdadm:为软RAID提供管理界面  为空余磁盘添加冗余  结合内核中的md(multi devices) 

RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、 /dev/md3等等

软件RAID的实现 

mdadm:模式化的工具  

命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>  支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10  

模式: 

  创建:-C 

  装配: -A 

  监控: -F 

  管理:-f, -r, -a 

  <raiddevice>: /dev/md# 

  <component-devices>: 任意块设备

-C: 创建模式 

  -n #: 使用#个块设备来创建此RAID; 

  -l #:指明要创建的RAID的级别; 

  -a {yes|no}:自动创建目标RAID设备的设备文件; 

  -c CHUNK_SIZE: 指明块大小; 

  -x #: 指明空闲盘的个数;  

例如:创建一个10G可用空间的RAID5

-D:显示raid的详细信息; 

   mdadm -D /dev/md#  

   管理模式: 

     -f: 标记指定磁盘为损坏 

     -a: 添加磁盘 

     -r: 移除磁盘  

     观察md的状态: cat /proc/mdstat  

     停止md设备: mdadm -S /dev/md#

 软RAID配置实例  

 使用mdadm创建并定义RAID设备 

     #mdadm -C  /dev/md0 -a yes -l 5 -n 3 -x 1  /dev/sdb1  /dev/sdc1  /dev/sdd1 /dev/sde1  

 用文件系统对每个RAID设备进行格式化 

     #mke2fs -j  /dev/md0  

 测试RAID设备 

 mdadm允许检查RAID设备的状况 

     #mdadm –detail|D  /dev/md0  

 增加新的成员 #mdadm –G /dev/md0 –n4  -a /dev/sdf1

软RAID测试和修复

 

 模拟磁盘故障 

     #mdadm  /dev/md0  -f  /dev/sda1  

 移除磁盘 

     #mdadm   /dev/md0 –r /dev/sda1  

 从软件RAID磁盘修复磁盘故障 

      替换出故障的磁盘然后开机 

      在备用驱动器上重建分区 

      #mdadm  /dev/md0  -a  /dev/sda1 

  mdadm、/proc/mdstat及系统日志信息

软RAID管理  

    生成配置文件:mdadm –D –s  >> /etc/mdadm.conf  

    停服务:mdadm –S /dev/md0  

    激活:mdadm –A –s /dev/md0 激活  

    删除raid信息:mdadm –zero-superblock /dev/sdb1

    

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

(0)
a1215276209a1215276209
上一篇 2016-09-01
下一篇 2016-09-01

相关推荐

  • Leetcode 编程训练

    Leetcode这个网站上的题都是一些经典的公司用来面试应聘者的面试题,很多人通过刷这些题来应聘一些喜欢面试算法的公司,比如:Google、微软、Facebook、Amazon之类的这些公司,基本上是应试教育的功利主义。 我做这些题目的不是为了要去应聘这些公司,而是为了锻炼一下自己的算法和编程能力。因为我开始工作的时候基本没有这样的训练算法和编程的网站,除了…

    Linux干货 2016-08-15
  • 计划任务

    任务计划Linux任务计划、周期性任务执行未来的某时间点执行一次任务:atbatch:系统自行选择空闲时间去执行此处指定的任务周期性运行某任务:cron     at任务at命令:at [option] TIME常用选项:-V 显示版本信息:-l: 列出指定队列中等待运行的作业;相当于atq-d: 删除指定的作业;相当于atrm-c: 查…

    Linux干货 2017-08-28
  • ip ss route nmcli netstart 命令汇总

    route命令 路由管理命令 查看:route -n [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.101.0 0.0.0.0 255.255.255.0 U 1 0 0 e…

    Linux干货 2017-05-07
  • 文本处理工具及grep命令的理解与使用

    1. 文本处理工具   1.1 文件查看命令cat tac     cat命令:连接文件并在标准输出上面显示出来  图 1-1   cat帮助文档        cat [option]…[file]…     &n…

    Linux干货 2016-08-07
  • haproxy实现rabbitmq负载均衡

    RabbitMQ简介: 1、是实现AMQP(高级消息队列协议)的消息中间件的一种。2、主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。 一般提到 RabbitMQ 和消息,都会用到以下一些专有名词:(1)生产(Producing)意思就是发送。发送消息的程序就是一个生产者(produce…

    Linux干货 2017-06-29
  • N21—-第一周课程练习题

    1、描述计算机的组成及其功能。 我们现在通常理解为计算机是由硬件系统+软件系统组成的,根据冯·诺依曼体系结构。计算机主要由五大部件组成:      运算器(Datapath): 计算机中执行各种算术和逻辑运算操作的部件      控制器(Control):是整个计算机的中枢神经,…

    Linux干货 2016-07-12