首页 > 技术文章 > linux学习26 Linux磁盘使用及文件系统管理介绍

Presley-lpc 2019-12-30 11:47 原文

一、Linux系统管理

  1、磁盘分区及文件系统管理

  2、RAID

  3、LVM

  4、网络属性管理

  5、程序包管理

  6、sed and awk

  7、进程查看和管理

  8、内核管理(编译和安装)

  9、系统启动流程

  10、Linux内核的定制,编译,busybox

  11、系统安装:kickstart,dhcp,pxe

  12、shell脚本编程

二、Linux磁盘及文件系统管理

  1、所有高速设备比如PCIE等设备都是连接至北桥的,北桥也称为高速桥,然后由北桥汇总之后再连接至CPU进程处理,其它慢速设备比如键盘鼠标包括硬盘等会连接至南桥,南桥也称为慢速桥,然后再由南桥汇总后连接至北桥,当慢速设备有请求时会先发送给南桥然后由南桥发送至北桥再由北桥发送给CPU进行处理。

    

  2、计算机五大组成

    a、CPU,Memory(RAM),I/O

    b、I/O:Disks,Ehtercard(网卡)

      Disks:持久存储数据

    c、硬盘接口类型

      IDE(ata):并口总线,理论速率是133MB/S

      SCSI:并口。Ultrascsi320,320MB/s,UltraSCSI640,640MB/S

      SATA:串口,SATA3.0理论速率是6gbps即  6g/8  MB/s

      SAS:串口类型的SCSI技术,6gbps

      USB:串口,3.0理论速率为480MB/s

      PCI-E:固态硬盘接口,直接连接至北桥总线,据说存取速率可以接近于内存的速度

      并口:同一线缆上可以接多块设备

        IDE:可以接两个设备,主和从

        SCSI:有宽带:可以接16-1个设备,还有窄带,可以接8-1个设备

      串口:同一线缆只可以接多个设备。

 

      iops(io per second):我们衡量一个硬盘的性能除了理论上的速率以外还有一个另外的指标来描述叫做iops,即每秒能完成多少个io,也就是存取操作。对于IDE接口机械硬盘来讲他的每秒次数平均大概在100个。即理论上每秒钟只能完成100次左右的io。而SCSI机械硬盘也就只有150-200个之间。对于很多存取非常频繁的数据服务器来讲,100来个的IO能力太弱了,尤其是像mysql这样的数据库服务器,早期的时候人们为了扩展io能力就把多块硬盘拿过来并行使用,比如RAID0,他能够拓展io能力。但是这样和固态硬盘比起来就差多了,一般的固态硬盘iops为400个左右。因为固态硬盘为电气设备,机械硬盘为机械设备,机械硬盘是通过旋转来进行数据存取,而固态硬盘是通过电子设备移动来进行数据存取。而我们PCI-E接口的固态硬盘据说每秒可以达到10万iops。

    d、硬盘:机械硬盘,固态硬盘

      机械硬盘:

        trac:磁道

        sector:扇区,512bytes

        cylinder:柱面

          分区划分基于柱面

        平均寻道时间:

          转速:5400rpm :多少转每分钟,即5400转每分钟,7200rpm,10000rpm,SCSI一般有15000rpm的。

  3、Linux的哲学思想:一切皆文件

    a、设备类型:

      块(block):随机访问,数据交换单位是“块”

      字符(character):线性访问,数据交换单位是“字符”

    b、设备文件:FHS

      /dev

        设备文件:关联至设备的驱动程序。设备的访问入口

          设备号:

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

            minor:次设备号,区分同种类型下的不同的设备,是特定设备的访问入口。

    c、mknod命令:创建块设备或字符设备文件。

[root@localhost ~]# mknod /dev/testdev c 111 1
[root@localhost ~]# ls -l /dev/testdev 
crw-r--r-- 1 root root 111(主设备号), 1(次设备号) Dec 31 05:11 /dev/testdev

      对应参数:

        -m MODE:创建后的设备文件的权限

  4、设备文件名:ICANN,即互联网名称地址分配机构来定义。

    a、IDE硬盘:/dev/hd[a-z]

    b、SCSI,SATA,USB:/dev/sd[a-z]

    c、分区识别

      /dev/sda# ,例如/dev/sda1,/dev/sda2....

    d、注意:CentOS 6和7 通通将硬盘设备文件标识为/dev/sd[a-z]#

    e、引用设备的方式

      设备文件名

      设备的卷标

      UUID

三、磁盘分区:MBR,GPT

  1、MBR(Master Boot Record:主引导记录):0 sector,即0编号扇区。我们也称为0编号扇区。

    a、MBR分区一共512字节 ,分为三部分:

      446bytes:存放操作系统的加载程序的。即bootloader程序,他是引导启动操作系统的程序。

      64bytes:分区表,每16bytes标识一个分区,一共只能有4个主分区,我们也可以划分成三主一扩展

      2bytes:当前MBR区域有效性标识:55AA为有效,否则为无效

    b、主分区和扩展分区的标识:1-4

    c、逻辑分区:5+

  2、课外作业:了解GPT是什么

四、Linux分区管理命令fdisk

  1、查看磁盘分区信息

    fdisk -l [-u] [device...]:列出指定磁盘设备上的分区情况。

root@localhost ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000c9b85

   Device Boot      Start         End      Blocks   Id  System  #centos6表示从哪个柱面开始哪个柱面结束,centos7表示从哪个扇区开始哪个扇区结束。Id表示分区所在场景类型linux所在场景分区都是83,扩展分区用5表示,交换分区用82表示
/dev/sda1   *        2048     2099199     1048576   83  Linux  #星号表示是操作系统的引导分区
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM

Disk /dev/mapper/centos-root: 39.7 GB, 39720058880 bytes, 77578240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

  2、管理分区

    fdisk device

    fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能,所有的操作均在内存中完成,没有直接同步到磁盘,直到使用w命令保存至磁盘上才会生效。

[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xdd037dab.

Command (m for help): m
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)

  3、常用命令

    n:创建新分区

    d:删除已有分区

    t:修改分区id

    l:查看所有已知ID

    w:保存并退出

    q:不保存并退出

    m:查看帮助信息

    p:显示现有分区信息

  4、注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别。

    查看:cat  /proc/partitions

    通知内核强制重读磁盘分区表(一次不行可能还要执行两次):

      CentOS 5:partprobe [device]

      CentOS 6,7:partx,kpartx

             partx -a [device]

             kpartx -af [device]

 

 

 

 

 

 

    

推荐阅读