Linux系统管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统管理相关的知识,希望对你有一定的参考价值。

Linux系统管理主要分为:1.存储管理;2.程序包管理;3.sed、awk的应用;4.进程管理;5.网络管理;6.Linux内核管理;7.Linux系统的启动流程;8.系统安装;9.完善shell脚本的使用;我们接下来先给大家说一说Linux存储管理。

Linux存储管理主要有磁盘控制器、总线、磁盘的接口;磁盘控制器一般有两种,IDE以及SCSI;而总线有主要分为数据总线,地址总线,控制总线,当然了,总线是不会单独工作,一般都是集成在主板上的;磁盘接口可以衡量一个磁盘的IO能力,磁盘接口的类型:如今主要用的有IDE的并行接口,来源于更早的ATA;以及SCSI的小型计算机系统接口;ATA的将并行数据传输改为串行接口;SAS的串行接口;USB接口。那衡量磁盘IO能力的指标除了接口以外还有另外一个指标:IOPS(一秒钟完成读写操作的次数)。其中IDE的机械磁盘,读写速率平均处在50-100IOPS;SCSI的机械磁盘,读写速率平均处在100-200IOPS,固态磁盘的读写速率平均处在在400IOPS;SATA的机械磁盘,读写速率平均处在100IOPS左右,固态磁盘处在400IOPS左右;SAS的机械磁盘,读写速率平均处在200IOPS左右,固态磁盘读写速率平均处在800IOPS左右;PCI-E固态磁盘读的IOPS大概在400000-800000,而写的IOPS大概在50000-100000。

如今普遍的X86主板上的磁盘控制器的接口:

IDE:2个接口,每个接口接一个主盘和一个从盘,共四块硬盘;如果有光驱的话,可能会减少至三个磁盘加一个光驱;

SATA:4-6个接口:


SCSI:7或者15个接口;


SAS:至少能够提供1023个接口,最多16384个接口;

机械磁盘:

    术语:

    track:磁道,磁头在磁盘表面的运行轨迹的投影;

    sector:扇区,512Byte,现在所说的扇区实际上是平均值;最小的管理单元;

    cylinder:柱面,从某个磁道向所有盘片做投影,所形成的圆柱表面;实际上是由所有盘片上相同位置的磁道组成;

    partition:分区,从某个柱面到另一个柱面之间所有的柱面存储空间;

    head:磁头,每个盘片每个磁面都有一个磁头,用于数据的读写操作;


    磁盘性能的指标:

    主轴转速:盘片每分钟旋转的圈数;

    平均寻道时间:磁头从开始位置到指定位置之间经过的时间;

    缓存:

/dev用于存放硬件设备被映射出的文件,磁盘的设备文件也存放于此;

设备文件:是关联到硬件设备的驱动程序和设备的访问入口;


设备号:

major:主设备号,区分不同设备的设备类型,用于表明设备所需的驱动程序;

minor:次设备号,在同种类型的设备中的不同设备,用于对设备提供访问入口;


设备类型:

块设备:

以块为基本单位进行随机访问的设备,通常为存储数据的设备;

字符设备:

以字节为基本单位进行线性访问的设备,通常为处理数据的设备;


设备文件名:

IANA --> ICANN 


命名必须保存在/dev目录下

IDE:hd[a-d]

SCSI|SATA|SAS|USB:sd[a-z]+  例如:sdaa


RedHat Enterprise Linux:从RHEL6开始将IDE接口的磁盘也命名为sd*,自此以后,所有的磁盘设备被统一命名为sd[a-z]+;


设备的引用方式:

1.设备文件名直接引用

存在问题是:比如将数据添加到sdd磁盘,重启以后文件名可能不再是sdd;

2.卷标(Volume Lable):

存在问题:如果引入外来设备,两个设备中如果卷标冲突,那么只会有一个设备可以正常启动,另一个设备不会正常启动;

3.UUID:全局唯一标识符,Universal Unique IDentifier



mknod命令:

mknod - make block or character special files

格式:

mknod [OPTION]... NAME TYPE [MAJOR MINOR]




如何使用新的磁盘设备?

1.让Linux系统内核识别设备,对设备进行分区;

2.格式化

低级格式化:磁盘初始化,磁道划分;

高级格式化:创建或重建文件系统;

3.使用文件系统:

挂载

卸载


为何分区?

1.优化磁盘的IO性能;

2.可以实现对某个存储空间的配额限制;

3.进行高速的磁盘问题修复;

4.隔离系统文件和其他应用程序文件;

5.在一台设备上,可以安装多个操作系统;


如何分区?

MBR:整个磁盘空间小于2TB容量,建议使用MBR分区格式;

MBR:Master(Main) Boot Record,主引导记录,始于1982年;

MBR其实也是一段数据,默认保存在磁盘的零磁道零扇区中;

分为三部分:

446Bytes:boot loader,引导加载程序;

Windows:NTLDR

Linux:7.4以前LILO,GRUB(默认)

64Bytes:Partition table,分区表;每16字节为一段,表明一个分区的内容,因此,默认最多只有四个分区;

1.最多有四个主分区;

分区编号依次为:1,2,3,4

2.想要划分更多的分区数量时,可以将任意一个主分区改为扩展分区,在扩展分区中建立逻辑分区;

逻辑分区的编号默认从5开始,不管前面的四个数字是否都被占用;


    注意:扩展分区可以没有,最多只能有一个;

2Byte:MBR结束标记,55AA;


GPT:整个磁盘空间大于2TB容量,建议使用GPT分区格式;

GUID Partition table,支持128个主分区;


Linux下常用的分区工具:

fdisk:

用于创建和管理MBR分区,对于同一块磁盘最多只能管理15个分区;

gdisk:GNU disk

用于创建和管理GPT分区;


注意:如果使用fdisk或gdisk命令,对于一个已经有分区被挂载的磁盘的剩余空间再次进行分区,即便将分区的结果保存下来,也不会被内核立即识别;


想要让内核识别出此类新建分区,可以采用下列方法:

1.重启计算机;

2.强制内核重读分区表;

partprobe命令

partx命令


在RHEL或者CenOS系5|7版本中:

partprobe  [device]

注意:如果省略了设备名,则表示重读所有磁盘设备的分区表;强烈建议,直接给出指定的磁盘设备名称;

在RHEL或者CenOS系6|7版本中:

partx -a [device]

kpartx -af [device]



fdisk分区工具:

fdisk - manipulate disk partition table


格式:

fdisk device

        fdisk -l [device...]


        选项:

        -l:表示查看之意;如果给出设备名称,则查看指定设备的分区表;否则查看所有磁盘设备文件的分区表;


    fdisk device

    对于指定设备进行分区管理和操作;

        d   delete a partition

    l   list known partition types

    m   print this menu

    n   add a new partition

    p   print the partition table

    q   quit without saving changes

    t   change a partition's system id

    w   write table to disk and exit


    在fdisk交互式菜单模式中创建分区的过程:

    n --> p|e|l --> 指明分区的起始扇区(柱面),直接回车使用默认值 --> 分区的结束扇区(柱面),也可以使用+#UNIT直接指定分区大小;



    parted命令:高级的分区工具,其操作结果实时生效;

    parted - a partition manipulation program

    格式:

       parted [options] [device [command [options...]...]]


    示例:

~]# parted /dev/sda mkpart logical 103GB 105GB

~]# parted /dev/sda rm 8   


    在通电开机状态下添加SCSI接口的磁盘至本服务器,要想使设备被内核识别并创建出相应的设备文件,有下列方法:

    1.重启计算机

2.~]# echo "- - -" > /sys/class/scsi_host/host2/scan

强制内核识别在通电状态下热插接的新SCSI接口的磁盘设备;


以上是关于Linux系统管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统管理

Linux用户管理Linux文件管理

linux系统管理

《Linux深度攻略》一书,讲述Linux日常系统管理和服务器配置内容

linux系统管理

Linux内存管理子系统(概念入门)