码迷,mamicode.com
首页 > 系统相关 > 详细

20150830 Linux系统管理 --磁盘管理与系统管理

时间:2015-09-04 22:42:03      阅读:533      评论:0      收藏:0      [点我收藏+]

标签:网络管理   linux   程序   

     前部分内容为基础内容,后续培训内容包括

     A  磁盘和文件系统管理;
     B  RAID, LVM; btrfs;
     C  程序包管理:rpm, yum(dnf)
     D  Linux的网络管理;
     E   进程和作业管理:htop, glances, tsar;
     F   sed和awk;
     G  Linux系统的开机启动流程;
     H  内核基础知识,内核定制编译;
     I    系统安装:kickstart, pxe

第一、磁盘和文件系统管理

1、Linux磁盘

  • 磁盘类型

                机械

                SSD

  • 机械式磁盘组成

             track 磁道:磁道可划分扇区,磁盘外则性能好些

             sector 扇区:用于存数据,一般一个扇区512

             cylinder:柱面 相同编号的磁道是分区的基本单位,从最外至里

                 划分分区:每个分区可划分独立的文件系统:分区是逻辑边界

           MBR:主引导扇区 (0磁道,0扇区)master boot record 512byte  全局,独立OS

                    446:boot loader 引导某分区操作系统

                    64:filesystem allocation table (每16个字节标记一个分区)

                     2:Magic Number 55AA(MBR标记是否有效)其它标记无效

                  所有系统磁盘的划分由 MBR决定(一个磁盘受4个主分区限制、2.2TB空间限制)

                  主分区+扩展小于=4个当中,取出部分为指针,指向扩展分区 (另外更大的空间)

             扩展分区只能够有一个。

                 GPD:全局唯一标识分区表(GUID Partition Table,缩写:GPT)代替MBR

  • 磁盘接口类型

             IDC(ATA) 133MB/s 在centos 5 识别为 /dev/hd

             SCSI 640MB/S   /dev/sd

             SATA sata3 6Gbps /8=MB/s 要除8   /dev/sd

             SAS 6Gbps   /dev/sd

             USB 480MB/s

          

  • 识别硬盘设备

               在Linux中识别为/dev/sd 不同接口按照a-z类推

                   a,b,c……来区别同一设备类型下的不同设备

                   标记不同硬盘设备 /dev/sd[a-z]

                   标记同一设备上的不同分区:/dev/sd[a-z][1-]

                           1-4:主或扩展分区标识(或3主一扩展)

                            5+逻辑分区从5以后开始标识

  • 设备文件,特殊文件

               设备文件在/dev/目录下,ls –l /dev查看

               设备号:(设备文件存主号、次号)

                        major,minor   主设备号(major number   次设备号   minor number0

                                major设备类型,识别设备驱动

                                minor:同一类型下的不同设备

                                   示例:7,131/7,132等为设备号

                                        技术分享

                     “块” 换算单位 block ,可随机访问

                       "字符" 以字符为单位,character 线性设备

                         p   管道文件  FIFO

                   创建设备文件利用mknod,常用是 –m

                      示例:

               mknod devtest c 66 0     : DEVTEST为设备名称, c 表示字符设备 66号主设备号  0为次号

               mknod –m 640 devtest2 c 66 1  可指定权限

             

  • 分区

         分隔存储空间为多个小的空间,每个空间可独立使用文件系统

partition、其它不同slice   创建文件系统即分区:高级分区才格式化

   (1)分区工具

             fdisk,parted,sfdisk

   (2)fdisk工具的使用:

            最多支持在一块磁盘15个分区

            命令格式:

                  NAME

                     fdisk - manipulate disk partition table

                 SYNOPSIS

                    fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device

                    fdisk -l [-u] [device...]

                        -l 列出所有识别的设备

                        fdisk -s partition...

                        fdisk -v

                       fdisk -h

                示例讲解:     ID应对OS linux一般的ID是83 

                      fdisk –l       fdisk –l /dev/sda      

                     技术分享

      一个硬盘最多4个主分区,使用超过4个分区,可使用最多3个主分区,加一个扩展或

逻辑分区,再通过扩展创建逻辑分区),扩展分区只是一个指针

      (3)分区管理子命令

              fdisk /dev/sda 进入fdisk命令接口

                  p 显示当前硬件分区,包括没保存的改动

                  n 创建     e为扩展分区      p为主分区

                 d 删除一个分区

                  t 修改分区类型id(文件系统类型 默认linux文件系统类型)

                  l 列出所有支持ID

            技术分享

                  w,保存退出

                  q:不保存退出

                   m帮助

       示例:

        未提交w保存的情况下,将在内存中,只有w后提交到物理,其它情况下未生效

            技术分享

               +20G空间表示在起始位置增加20G空间

            虽然 fdisk -l /dev/sda

           创建完成后,查看内核是否识别新分区

           通过cat /proc/partitions,查看分区标号是否有效,现标记为sro说明新建磁盘

没有生效

           技术分享

          三个命令可以让内核重新读取分区表

              centos 5 parprobe

              centos 6,7

                     partx

                     kpartx

             Partx 让内核最新获取新分区

                 说明 partx可使用sda

             技术分享

              通知内核识别分区表 partx -a -n 4:6 /dev/sda 4:6说明从4到6

             技术分享

                  partx 命令

                     partx device

                     partx -a device

                     partx -a -n M:N device

                                 M

                                 N

                                 :N

          也使用以下命令

               kpartx -af Device 例如 kpartx -af /dev/sda

             创建完分区后创建文件系统:以图书馆为例

2、Linux文件系统管理

           文件系统由内核支持:高级格式化即创建文件系统mkfs,创建文件需要客户使用的命令结合

内核的功能来完成。(低级格式化是创建磁道)

  • Linux上的文件系统:是一个管理软件便于文件查找

                将存储空间划分二个部分一个metadata存储区,一个数据存储区。数据存储区

     又划分多个存储单元。

                   元数据区存在bitmap(位图), 每个块在bitmap有一个标记(0表示未使用)

                    metadata 索引、用于检索标识

                   元数据区针对使用和未使用的通过inode(索引节点)索引进行标识,每个inode

              有一个全局编号,对应的一个引用文件。inode存储inode号、属主、磁盘块等信息

              不存储文件信息(无文件名)。一个inode 8K

                   每个文件有inode,目录也是文件,inode、目录存储空间。存在文件索引、和文件名

      类型进行快速查找

        VFS Virtual Files system(统一文件系统,支持多种文件系统)---Linux内核支持

            Linux:ext 2,ext3,ext 4,reiserfs xfs,btrfs(cents os技术预览版本),swap(磁盘模拟内存)

           光盘:iso9660

           Windows Fat32(vfat),ntfs

           网络:nfs,cifs

          unix文件系统:ffs,ufs,jfs,jfs2(企业授权)

          集群文件系统,ocfs2,gfs2

          分由式文件系统:ceph(linux内核),

               moosefs,mogfilefs,hdfs,gfs,glusterfs

         日志型文件(journal file system)

               非日志型文件系统:ext2

               日志型文件系统:除ext2以外的,ext3等

          *存储数据先保存元数据,再保存磁盘块存放数据前先元数据放到日志区,

保存完成后,再将保存到元数据区。当故障时先 检查日志区。

           swap交换分区

        物理不大的情况下,用磁盘作为内存临时使用。暂存使用

必免存储使用

  • 文件系统管理

创建文件系统: (文件系统在内核中 )一个分区一个文件系统,都在根目录下,这种方式要挂

载或关联。重新创建文件系统会损坏原有文件,不要对以有文件系统创建分区

1)在分区上执行格式化(高级格式化过程)

            要使用某种文件系统需要满足二个条件:

                    内核中:支持此种文件系统

                    用户空间:有文件系统管理工具

(2)创建工具 mkfs (make filesystem)

          mkfs,mkfs -t type - mkfs.type

          mkfs –t ext3=mkfs.ext3

    技术分享

           查看支持文件系统类型,实现通过过mkfs.*进行创建

    技术分享

    技术分享

             *备注mkfs.后面tab二次补全

           查看文件系统类型2:[root@centos71 ~]# cat /proc/filesystems
           技术分享

                以上可能出现伪文件系统

          mkfs -t type device 只能够格式化主分区和扩展分区,blkid /dev/sda5 查看执行结果,

mkfs会破坏数据

     技术分享

用法2:mkfs .ext4 /dev/sda5

      技术分享

      ext系列文件系统专用管理工具 mke2fs -type {ext2|ext3|ext4} Device

             -b block size 1024,2048,4096

             -L "label" 设定卷标

              -j 为ext3  有journal

      Blkid 定位并显示块设备的属性

             -L带卷标

      blkid device

             label,uuid,type

        技术分享

(3)创建工具mke2fs

           ext:mke2fs

创建文件系统:

       mke2fs [options] ….device

             -t {ext2|ext3|ext4|

            -b {1024|2048|4096} 指块大小   linux 标准大小 4K

            -l ‘label‘ 可通过卷标引用设备

           -j mke2fs -t ext3

           -F  强制创建文件系统

           -E:用户指定额外的文件系统属性

           -I # ; inode 为多大空间预留inode

           -N #:保留多少inode

           -m #:预留空间百分比,为管理员后期使用(直接输入数字 10即 10%)

           -i #:用于指定为多少字节的空间创建一个inode,默认8192,为2^n倍

          -O Feature-【……】 特性

               -o ^Feature:关闭feature centos5/6/ id 83 has_journal

                -o featue 表示开启feature

          示例:

                 mke2fs –t ext4 –b 2048 –L test /dev/sda5 指定ext4文件系统,2M块大小

        卷标test

           技术分享

(4)文件系统属性查看及调整工具:

      e2label:用于管理卷标 带卷标是创建,不创建是查看

           技术分享 

     tun2fs 显示ext文件系统的属性或调整其属性(block size不能调整),包括超级块

信息。

           -m # 预留空间百分比#默认5% reserved block count

           -l list 显示文件系统属性,超级块信息,显未文件系统的属性及布局

           -L ‘label‘ 修改卷标

           -j: ext2-->升级为ext3 不会影响原数据,只升不降

          -O : 文件系统属性的启动或关闭

          -o :文件系统默认挂载选项

                     启用acl

                   技术分享

           -c/C  # 指定挂载#  设定多少次进行自检,0或-1表示关闭此功能

            -i #:每挂载使用多少天后进行自检。0或-1表示关闭此功能

                  技术分享

                  技术分享

           dump2fs: -h 仅显示超级块信息

                显示文件系统的布局信息dump,超级块包括进行备份

                磁盘分区是所有块进行分组后,进行分组管理

            技术分享

(5)文件系统检测工具

       fsck filesystem check(系统意外关闭)    blkid查看类型

              注意类型不能错误,会影响数据

             fsck

                 fsck -t type  自动调用blkid中

                 fsck.type

                      -a :自动修复错误

                      -I 交互修复错误

                     -f 强制检测

           技术分享

                   文件系统状态 非cleanv  ,例如:tune2fs -l /dev/sda8

            技术分享

     e2fsck:ext系列文件系统专用的检测修改工具

            -y 自动回答为"yes"

             -f force

(6)文件系统的挂载和使用

A:启动过程及定义

       Linux是根开始,启动时从内核

      kernel--->rootfs(分区)

      rootfs分区拥有以下目录

            拥有bin,sbin,lib,lib64,dev,tmp,proc,sys

                /sbin/systemd centos 7

               /sbin/init centos6

         启动内核后需要指定一个根,将额外文件系统与根文件某现在的目录建立关系的过程,

进而使得些目录做为其它文件系统访问入口中的行为,称为挂载,解除此关联的过程为卸载

         第一次加载启动关联 即以上二个目录

B:挂载点mount point, 设备挂载至目录;

        注意:挂载点在挂载在之后,其内部原有的文件会被暂时隐藏;建立使用空目录做为挂载点;

C:挂载方法:
        mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;当更新/etc/fstab后会更新/etc/mtab 
        mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;cents os 7自动伪文件系统
        mount [options] [-o options] DEVICE MOUNT_POINT
            [options]:命令选项
            [-o options]:挂载选项

            -n 不更新/etc/mtab文件

    mount无参数表示当前系统以挂载设备

            DEVICE: 要挂载的设备
                (1) 设备文件:/dev/sda5
                (2) 卷标:-L ‘LABEL‘    label=””
                (3) UUID:-U ‘UUID‘    UUID=””
                (4) 伪文件系统名称

            示例:

                  mount /dev/sda8  /mnt/test  将sda8挂载至test目录,

                  通过UUID挂载,再通过/mnt/test查看       

                 技术分享

          Mount_Point 挂载点(目录)

              要求:@1此目录未被其它进程使用  @2目录需要先存在 @3 目录中原有文件系统将会暂时隐藏。

                挂载完成需要通过挂载点进行访问

              默认二个挂载点为mnt和media

               常用选项:

                 -t type:文件系统类型 ,不指定mount会调用blkid命令获取文件系统类型
                -r: 以“只读”方式挂载此文件系统 ,光盘常用些选项
                -w: 以“读写”方式挂载此文件系统
                -n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;
                -a: 自动挂载/etc/fstab中所有定义自动挂载的设备;
                -B:绑定目录至另一个目录上; 供访问
                  技术分享

        -o 指定额外的挂载选项,文件系统启用的属性。

               async异步,默认

                sync: 同步模式
                atime/noatime:是否更新访问时间戳;
                diratime/nodiratime:是否更新目录的访问时间戳;
                auto/noauto: 是否允许此设备被自动挂载; -a选项
                exec/noexec:是否允许执行此文件系统上应用程序;
                dev/nodev:是否支持在此设备上使用设备文件;
                suid/nosuid:
                remount:重新挂载
                ro   只读
                rw   可读写
                user/nouser: 是否允许普通挂载此设备;
                acl:是否支持此设备上使用facl;

               -o loop 本地回环设备
                defaults:rw, suid, dev, exec, auto, nouser, and async

         示例mount –o ro /dev/cdrom /media  将光盘加加载到media目录同时为只读

                   mount –o remount ,ro /dev/sda8  重新挂载为只读,多选项用逗号分隔,

                  mount –o loop  /root/a.iso /media 将iso镜像文件挂到media

D: Umount 卸载命令

        #umount device

       #umount mount_point

    正在使用的无法卸载

      fuser验证进程正在使用的文件或套接字文件

    查看正在访问指定挂载点的进程 #fuser -v Mount_Point

    终止所有正在访问指定的挂载点的进程 #fuser -km Mount_Point

       技术分享

(7)swap交换分区

供交换内存使用

A:free -m 以兆显示当前物理使得状态,默认以k

         -m MB单位

          -G GB单位

          free

         技术分享

             fdisk

          技术分享

              注意 :82为tmp

            partx查看

B:mkswap [options] device

     创建交换分区 mkswap 分区设备,之前调整分区类型为82

        -L ‘lable‘

      技术分享

       mkswap后要激活采用 swapon/off

       技术分享

C:swapon 启动交换分区 swapon [options] [device]

             -a 激活所有交换分区/etc/fstab文件中

             -p priority 设定其优先级

             示例:swapon /dev/sda8

D:swapoff 禁用交换分区swapoff [options] [device]

             示例:swapoff /dev/sda8

   回环设备    loopback使用软件来模拟实现硬件

       dd复制文件,与copy命令类似,copy以文件为单位复制,dd为底层的数据流

copy先通过vfs读内存,再复制到目标地址    dd不通过vfs,直接复制o1代码至目标

dd可复制文件的多少字节

        dd if=/etc/passwd of=/tmp/51cto

               if  =input file 数据来源

               of =数据存储目标

               bs=1  表示一次一个字节   bs=1M 

               count=2  个数

               seek=# 创建数据文件时跳过空间大小   

        dd  

        示例:复制mbr

技术分享

            光盘镜像

   cat /dev/cdrom> /root/redhat.iso

(8)文件系统查看空间信息的工具

A:df disk free

       df -h 以易读方式

      df -I 多少个inode,一个inode一个文件

           -P 以posix兼容的格式输出

       /dev/sda3 -- ptree

        技术分享

B:du disk usage(评估文件使用情况)

        -h human readable

        -s summary

(9)文件系统相关挂载配置文件 /etc/fstab

   (os启动读取该文件,后挂载到相应的挂载点,每行定义,开机启动自动加载)

每行格式定义(6个字段)

要挂载的设备或伪文件系统   挂载点 文件系统类型 挂载类型 转储频繁 自检测次顺

      1:要挂载的设备:4种

        设备文件,label= 、UUID= 伪文件系统名称

     2、mount点

     4、挂载选项 -o 选项 defaults

     5、转储频率 备份频率

            0:不转储

            1:每天转储

            2:每隔一天转储

      6、自检次序 :修复错误,掉电等情况

          先检测根 0:不自检

           1:首先自检,通常只有根 / 为1

           2、其它可为2,一般建议手工检测

示例:

      技术分享

   技术分享

Mount -a 自动挂载

    swap挂

   技术分享

(10)文件系统上的链接文件

      每个文件都有inode

A:硬链接

     特点:指向硬件的inode号,只能够针对文件使用

      二个路径指向一个inode(每个文件的存储结构)

     不能对目录进行;
     不能跨分区进行
     指向同一个inode的多个不同路径; 创建文件的硬链接会增加inode的引用计数;删除硬链接仅是删除其一个访问路径,只到最后一个路径被删除;

    

     元数据(大小、属主、属组等)inode索引节点信息,

     目录也是文件

     找文件 :/etc/sysconfig/network   kernel-->根(存在的块)--》找到inode号,找表etc目录的block

找到sysconfig打到指向etc的inode号码,以次类推,

     inode指定块,inode存元数据

     技术分享

       删除硬链接,只删除一个访问数据,只有最后一个删除才删除,下图中的1代表是硬链接的次数

(通过ls –l查看),只有链接次数等于1时,再次删除才为真正的删除

    技术分享

B:符号链接(软链接),文件大小为字符个数

链接文件的数据指向别一个文件路径

        可以对目录进行操作

        可以跨分区

        指向的另一个文件路径,而非inode

        对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;

   通过命令ls –li查看

      技术分享

C:链接

ln [-s] SRC DEST    SRC是原文件,DEST是链接位置(注意路径位置)
            -s:symbolic link    表示软链接
            -v:verbose

创建符号链接示例,其中fstab时间前面的大小5,为字符个数

技术分享

     也可以通过ls –i 或者ls –i test/  目录地址,查看inode号

   du  /backup 显示文件及目录大小    –s 表示目录  -sh表示其中h进行换算

   df 磁盘空间,显示磁盘分区的使用情况, –h 换算   -i inode   -P  表示一行显示

 

 

附加

练习:

创建一个10G文件系统,类型为ext4,要求开机可自动挂载至/mydata目录;

第一步:创建分区

1、 fdisk查看现有分区信息

技术分享

以boot位标记为*的说明是主引导分区,当前磁盘供209715200个扇区,使用到130031615,说明还有未分配的空间

2、 通过fdisk /dev/sda进入交互式界面,输入m获得帮助

技术分享

3、输入n创建文件

技术分享

在1中已经到7,前3个主被占用,1个扩展也被占用,因此只能够为逻辑分区。

默认从130033664开始

4、 输入要新创建逻辑分区的大小10G

技术分享

5、 再通过p查看分区,即为/dev/sda8

技术分享

6、 确定后w

技术分享

7、 通过cat /proc/partitions

技术分享

sro说明新建磁盘没有生效,内核未识别

8、内核重读磁盘分区信息partprobe或 partx /dev/sda

9、 再次通过cat /proc/partitions查看,sda已经创建完成

技术分享

第二步:创建文件系统

10、mkfs创建ext4文件系统

[root@centos71 ~]# mkfs -t ext4 /dev/sda8

技术分享

11、查看结果blkid /dev/sda8

技术分享

第三部分:挂载文件

12、创建/mydata目录

技术分享

13、编辑/etc/fstab文件

技术分享

14、重新启动操作系统验证

Mount查看,/dev/sda8已经挂载到/mydata目录

Mount –a

-a: 自动挂载/etc/fstab中所有定义自动挂载的设备;

20150830 Linux系统管理 --磁盘管理与系统管理

标签:网络管理   linux   程序   

原文地址:http://wangsongbin.blog.51cto.com/1130001/1691346

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!