(15) 主分区,swap分区,磁盘阵列


   系统分区
一、MBR信息
  1.MBR主引导分区 446字节
  2.MPT主分区表  64字节
  3.硬盘有效标示“55aa” 2字节
  4.分区大小为16字节,故有4个分区
     其中3个主分区,1个扩展分区,扩展分区中成为逻辑分区

  5.注意:MBR分区最大只能分2TB,全部可识别的分区总数为16,可用的为14(其中    前面分几个主分区,占几个主分区扩展分区占一个)

命令为fdisk /dev/vdb 打开分区界面


主分区1

主分区3

下图为扩展分区

下图为逻辑分区

分区列表



二、系统设备类型
  1./dev/xdxn
    x:硬盘类型(s:sata硬盘  h:串口硬盘  v:虚拟硬盘)
    x:a..z,硬盘所在个数
    n:1..16,分区所在个数
  2./dev/cdrom             系统光驱
    /dev/mapper/files    虚拟硬盘的文件

三、硬盘分区
  1.分区命令
   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  修改分区id
   w   write table to disk and exit      将当前操作写入分区表
  2.在硬盘中进行分区管理
   进入硬盘分区  fdisk /dev/vdb             
   [root@server48 ~]# fdisk /dev/vdb
    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.

    Command (m for help):
  3.查看系统中真实存在的设备
    fdisk -l
  4.查看系统可识别分区
    cat /proc/partitions       
[root@server48 ~]# cat /proc/partitions
major minor   blocks  name

 253        0   10485760 vda
 253        1   10484142 vda1
 253       16   10485760 vdb
 253       17     204800 vdb1
 253       18     204800 vdb2
 253       19     204800 vdb3
 253       20          1 vdb4

 253       21     102400 vdb5



  5.查看系统可用分区                    
 [root@server48 ~]# blkid

  /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"


四、文件系统
 1.文件系统类型
   ext4   支持1EB(1EB=1024PB  1PB=1024TB)的文件系统和单个16TB的文件
          linux 6的标准文件系统
   ext2   支持最大分区4TB,最大文件2GB
          适合小型存储设备
   vfat   支持包括一系列相关文件系统(VFAT/FAT16/FAT32),针对较旧版本的Microsoft Windows开发
   xfs    支持最大分区9EB
           linux 7的标准文件系统,数据完全、性能稳定、扩展性强(8E-1b),传输效率(7G/s)

 2.格式化分区  
   mkfs.xfs /dev/vdb5    ##文件系统类型xfs
   注意:可用mkfs -t xfs /dev/vdb5进行格式化
  [root@server48 ~]# mkfs.xfs /dev/vdb5
   meta-data=/dev/vdb5              isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
   data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
   naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
   log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1

   realtime =none                   extsz=4096   blocks=0, rtextents=0


  查看可用分区
   [root@server48 ~]# blkid
    /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

    /dev/vdb5: UUID="c412c527-b0af-487b-817f-a6078c757ede" TYPE="xfs"


3.挂载mount
   普通挂载
   mount /dev/vdb5 /mnt
   参数挂载
   mount -o ro /dev/vdb5 /mnt
   挂载后修改参数

    mount -o remount,rw /dev/vdb5 /mnt (不卸载直接修改/dev/vdb5 /mnt/的rw权限)


4.卸载umount /mnt
   当/mnt被占用时,不能正常卸载
   [root@server48 ~]# umount /mnt
umount: /mnt: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
   可用lsof(8)查看不能卸载原因
[root@server48 ~]# lsof /mnt   (lfos查看不能卸载原因)
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
vim     4569 root    3u   REG 253,21     4096  131 /mnt/.hello.swp

   或者用fuser(1)查看
[root@server48 ~]# fuser -vmK /mnt     (vmk意思为扫描显示并关闭异常进程)
vmK: unknown signal; fuser -l lists signals.
[root@server48 ~]# fuser -vmk /mnt
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt
                     root       4639 F.... vim
[2]+  Killed                  vim /mnt/hello

五、gpt分区
1.GUID磁碟分割表
  GUID Partition Table:全盘唯一标识磁盘分区表
  特性对比:
   MBR: 3个主分区,1个扩展分区(下含逻辑分区),最多识别16个
   GPT:128个分区,管理硬盘大小18EB
   ext3:最多支持32TB
   ext4:最多支持1EB
   xfs:容量8EB-1byte

2.修改前准备

(例/dev/vdb)

   把要分区的硬盘停止(卸载所有设备)
   将该磁盘格式化 (有三种磁盘格式种类) 1— mkfs.ext3    2—mkfs.ext4   3—mkfs.xfs
3.修改MBR分区改为GPT分区
  [root@server48 ~]# parted /dev/vdb
   (parted) mklabel
   New disk label type?                                                      

   aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun



六、Swap分区
  1.swapon -s   ##查看系统的swap分区信息
  [root@localhost ~]# swapon -s
   Filename                Type        Size    Used    Priority
   /dev/vdb1                                  partition    1023996    0    -1
  2.新建swap分区
    fdisk /dev/vdb
    先建立P分区
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048     2050047     1024000   83  Linux
    修改分区类型
    Command (m for help): t
    Selected partition 1

    Hex code (type L to list all codes): L查看所有分区类型的id(82)


    修改成功
       Device Boot      Start         End      Blocks   Id  System

    /dev/vdb1            2048     2050047     1024000   82  Linux swap / Solaris


  3.格式化swap分区
    [root@localhost ~]# mkswap /dev/vdb1
     Setting up swapspace version 1, size = 1023996 KiB

     no label, UUID=006ca68c-ab1d-46d6-a454-8bca41b33c26


  4.挂载并查看分区信息
   [root@localhost ~]# swapon -a /dev/vdb1  (-a执行)
   [root@localhost ~]# swapon -s /dev/vdb1(-s列出)
    Filename                Type        Size    Used    Priority

   /dev/vdb1                            partition    1023996    0    -1


   注意:以上设置swap分区是临时的,永久设置须修改配置文件
  5.修改配置文件,永久设置swap分区  /etc/fstab
   UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /                       xfs     defaults        1 1

    /dev/vdb1 swap swap defaults 0 0


    /dev/vdb1     设备          swap     挂载点       swap     文件系统类型
    defaults    挂载参数,默认  0      不备份       0      不检测
    修改后 swapon -a    检查报错

七、分区配额
  1.挂载时设置配额参数

 (如果没有vdb2的话要先建 fdisk /dev/vdb  n p 2 +100M , p查看新建分区是否成功,wq保存退出)

   partprobe (分区同步)

   mkfs.xfs /dev/vdb2 (新建分区格式化)

   mount -o usrquota /dev/vdb2 /mnt(挂载)

  2.进行配额设置

    edquota -u student
    Disk quotas for user student (uid 1000):
    Filesystem                   blocks       soft       hard     inodes     soft     hard
   /dev/vdb2                     10240          0      10240          1        0        0

    blocks     文件已占用分区大小               soft     文件超出配额大小,报警

    hard        文件不能超出配额大小           inodes 文件个数

    soft文件目录个数超额报警                        hard文件目录个数不能超额

此处hard设定为10M   (hard        文件不能超出配额大小


   
    注意:xfs文件系统默认配额功能开启,ext4之前的文件系统需要quotan -n /dev/vdb 命令激活
  3.切换到student用户实验
    配额正常时

    [student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=6

 (从/dev/zero of截取6快数据,每块数据大小为1M,放到/mnt/studentfile这里)

     6+0 records in
     6+0 records out

     6291456 bytes (6.3 MB) copied, 0.00311684 s, 2.0 GB/s

     注意:如果截取不成功报错,修改权限 chmod 777 /mnt/

 (因hard设定为10M,文件不能超出设定配额10M,此截取总量为60M,在设定值范围内,所以截取成功)

    超出配置时,只能截取配额大小的容量

    [student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=11
     dd: error writing ‘/mnt/studentfile’: Disk quota exceeded
     11+0 records in
     10+0 records out

     10485760 bytes (10 MB) copied, 0.00603514 s, 1.7 GB/s

(因hard设定为10M,文件不能超出设定配额10M,此截取总量为110M,超出设定值范围内,所以截取不成功)

    注意:该配额设置是临时的,若需要永久修改

vim /etc/fstab

    UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /                       xfs     defaults        1 1

    /dev/vdb1 xfs /mnt defaults,usrquota 0 0



八、还原设备
    1.卸载所有挂载点
      umount /mnt  (卸载)
      swapoff /dev/vdb1  (关闭swap分区)
    2.查看是否全部移除

      df


      swapon -s (因上步以关闭swap分区,所有-s显示没有内容)

    3.修改配置文件,还原设置 /etc/fstab
    4.删除分区
      fdisk /dev/vdb    
      Command (m for help): d
      Partition number (1,2, default 2):
      Partition 2 is deleted

九、磁盘加密
   1.建立分区
    fdisk /dev/vdb
   2.设置磁盘密码
    [root@localhost ~]# cryptsetup luksFormat /dev/vdb1

    WARNING!
    ========
    This will overwrite data on /dev/vdb1 irrevocably.

    Are you sure? (Type uppercase yes): YES

   后输入密码,密码位数必须大于8位



 注意,注意:YES是大写,大写,大写

 

 3.打开磁盘文件 

    [root@localhost ~]# cryptsetup open /dev/vdb1 (test名字任意)

     Enter passphrase for /dev/vdb1:            需要输入密码


   4.格式化磁盘
    [root@localhost ~]# mkfs.xfs /dev/mapper/test
     meta-data=/dev/mapper/test       isize=256    agcount=4, agsize=6272 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
     data     =                       bsize=4096   blocks=25088, imaxpct=25
         =                       sunit=0      swidth=0 blks
     naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
     log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1

     realtime =none                   extsz=4096   blocks=0, rtextents=0


   5.挂载后实验

     mount /dev/mapper/test /mnt


     touch /mnt/file{1..5}
    [root@localhost ~]# ls /mnt
     file1  file2  file3  file4  file5
    [root@localhost ~]# umount /mnt

    [root@localhost ~]# ls /mnt


   6.关闭磁盘文件
    [root@localhost ~]# cryptsetup close test
    [root@localhost ~]# mount /dev/mapper/test /mnt

     mount: special device /dev/mapper/test does not exist


    注意:关闭之后,若再次挂载,需重新打开、建立磁盘文件


   7.设置开机自启动
     建立密码文件
     vim /root/diskpass (输入之前设置密码后自动读取密码)
     修改文件权限,设置root只读
     chmod 600 /root/diskpass
     修改文件,使磁盘识别密码(test为磁盘文件名)
     vim /etc/crypttab
     test /dev/vdb1 /root/diskpass
     磁盘加密时读取密码文件
     cryptsetup luksAddKey /dev/vdb1 /root/diskpass

     修改开机自启动文件


     vim /etc/fstab

     /dev/mapper/test /mnt xfs defaults 0 0


     开机后,磁盘自动挂载
     [root@localhost ~]# df
      Filesystem       1K-blocks    Used Available Use% Mounted on
     /dev/vda1         10473900 3808664   6665236  37% /
     devtmpfs            469344       0    469344   0% /dev
     tmpfs               484932      80    484852   1% /dev/shm
     tmpfs               484932   12772    472160   3% /run
     tmpfs               484932       0    484932   0% /sys/fs/cgroup
    /dev/mapper/test     96940    5176     91764   6% /mnt
     注意:若磁盘不能识别密码,则不能正常开机
  8.取消磁盘加密
    卸载  umount /mnt
    关闭磁盘文件  cryptsetup close test
    格式化磁盘  ##磁盘已加密,须强制删除
     [root@localhost ~]# mkfs.xfs /dev/vdb1
      mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (crypto_LUKS).
      mkfs.xfs: Use the -f option to force overwrite.
     [root@localhost ~]# mkfs.xfs /dev/vdb1 -f
    修改配置文件,还原设置
     vim /etc/crypttab
     vim /etc/fstab
    密码文件删除(可做可不做)
     rm -fr /root/diskpass
 
十、磁盘阵列管理
     0:1/2 + 1/2 写入   1:1+1 读取   5:0 + 1    至少3块磁盘,如2个0,1个1
   1.建立3个分区,类型改为raid
    Command (m for help): t
    Partition number (1-5, default 5): 2
    Hex code (type L to list all codes): fd   (改完后wq保存退出)

    **建完分区改完类型后要partprobe分区同步后才可进行下一步

   2、管理raid磁盘

     mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{2,3,5}
     -C   新建          -a   表示若目录/dev/md0不存在,建立新的

     -l     磁盘等级       -n  使用磁盘个数    -x  闲置磁盘个数


   3.查看磁盘信息

     mdadm -D /dev/md0

    查看信息显示vdb2,vdb3处于工作状态  ,vdb5闲置

     Number   Major   Minor   RaidDevice State
       0     253       18        0      active sync   /dev/vdb2
       1     253       19        1      active sync   /dev/vdb3

       2     253       21        -      spare   /dev/vdb5


     或者 cat /proc/mdstat

    显示vdb2闲置,vdb5,vdb3处于工作状态

     Personalities : [raid1]
      md0 : active raid1 vdb2[3](S) vdb5[2] vdb3[1]

        1048000 blocks super 1.2 [2/2] [UU]

 

   4.破坏一块磁盘,则另一块马上同步数据

     mdadm /dev/md0 -f /dev/vdb2


     mdadm -D /dev/md0  (查看谁被干掉,/dev/vdb2/被干掉)

      Number   Major   Minor   RaidDevice State

       2     253       21        0      active sync   /dev/vdb5
       1     253       19        1      active sync   /dev/vdb3

       0     253       18        -      faulty   /dev/vdb2


   5.移除坏掉的磁盘
     [root@localhost ~]# mdadm /dev/md0 -r /dev/vdb2
      mdadm: hot removed /dev/vdb2 from /dev/md0
   6.添加新的raid磁盘
     [root@localhost ~]# mdadm /dev/md0 -a /dev/vdb2
      mdadm: added /dev/vdb2
   7.格式化磁盘阵列,挂载
     mkfs.xfs /dev/md0
     mount /dev/md0 /mnt
   8.关闭raid磁盘,停止使用
      mdadm -S /dev/md0
     删除分区
     同步分区表  partprobe
     建议:做完实验后重启,清除所有缓存
磁盘

猜你喜欢

转载自blog.csdn.net/qq_41869566/article/details/80000350