磁盘管理

开机自检(BIOS)--MBR引导---GRUB菜单---加载内核(kernel)---运行INIT进程---读取/etc/inittab配置文件---执行/etc/rc.d/rc.sysinit脚本---执行/etc/rc.d/rc脚本/启动mingetty进程

1.Linux中通过设备名来访问目录

[root@localhost ~]# ll /dev/   #存放目录

2.linux系统对分区的要求

    至少有 / 和 swap两个分区(其时:swap也可以没有)
    swap(交换分区的作用):虚拟内存,大小:1.5*物理内存容量
    建议设置独立的boot分区
    生产线上一般服务器分区放是:/boot,swap,/

3.如何选择文件系统

*文件系统:是组织和存储文件系统的方法,目的是如:ext2.ext3.ext4.NTFS或FAT等
    在磁盘分区后能够使用之前必须建立对应文件系统才行
    reiserfs    大量小文件业务首选reiserfs
    xfs     数据库业务
    ext4        视频下载,数据库,小文件业务也ok

4.开机挂载

*方式: 开机脚本|/etc/fstab/|autofs软件

[root@server1 ~]# cat /etc/rc.d/rc.local
.....
mount  挂载设备   挂载点
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2
....
[root@server1 ~]# cat /etc/fstab 

^^autofs
*触发式挂载
[root@server1 ~]# yum install autofs.x86_64 -y
[root@server1 ~]# vim /etc/auto.master
8 /auto   /etc/auto.sdb1
[root@server1 ~]# vim /etc/auto.sdb1
sdb1 -fstype=auto :/dev/sdb1
设备挂载点|文件系统类型|
[root@server1 auto]# cd sdb1
*目录会自动创建,sdb1不会显示出来,但是需要触发

5.服务软件使用

    *安装软件
    *启动服务
    *配置服务
    *重启服务
    *测试服务
    *开机启动

6.开机启动的设置

[root@server1 ~]# chkconfig --list | grep autofs   #查看
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@server1 ~]# chkconfig --level 5 autofs off   #修改
[root@server1 ~]# chkconfig --list | grep autofs
autofs          0:off   1:off   2:off   3:on    4:on    5:off   6:off

7.卷标

[root@server1 ~]# e2label /dev/vda1    #查看卷标

[root@server1 ~]# e2label /dev/vda1 study
[root@server1 ~]# e2label /dev/vda1
study
[root@server1 ~]# findfs LABEL=study
/dev/vda1
[root@server1 ~]# mount LABEL=study /mnt/
[root@server1 ~]# df
/dev/vda1                       495844  33469    436775   8% /mnt
[root@server1 ~]# 

8.swap分区的制作

*应用:服务器物理内存不够,可尝增加swap分区

[制作临时swap分区]
[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 49.6568 s, 21.1 MB/s
[root@localhost ~]# du -sh /swapfile  
1000M   /swapfile
[root@localhost ~]# file /swapfile
/swapfile: data
[root@localhost ~]# mkswap /swapfile  
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=cbf7f9a9-0881-4af5-b221-8e395803bec4
[root@localhost ~]# swapon -a /swapfile 
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
[root@localhost ~]# chmod 0644 /swapfile 
[root@localhost ~]# ll -l /swapfile
-rw-r--r--. 1 root root 1048576000 Jul 19 04:36 /swapfile
[root@localhost ~]# swapon -s  
Filename                Type        Size    Used    Priority
/swapfile                               file    1023996 0   -1
[root@localhost ~]# 

[磁盘swap分区]

[root@server1 ~]# free
             total       used       free     shared    buffers     cached
Mem:        502276     158000     344276          0      15188      88672
-/+ buffers/cache:      54140     448136
Swap:       942072          0     942072
[root@localhost ~]# mkswap /dev/vda2
[root@localhost ~]# free -m
[root@localhost ~]# swapon /dev/vda2 
[root@localhost ~]# swapoff /dev/vda2 
[root@localhost ~]# blkid /dev/vda2    #查看其UUID在/etc/fstab里面挂载

9.分区加密

设备 ---加密 ---文件系统 ---文

    1.fdisk /dev/vdb 新建分区
    2.partprobe  同步分区
    3.cryptsetup luksFormat /dev/vdb1 对/dev/vdb1进行加密
     ——需要输入:YES(大写)  密码
    4.加密之后就不能对 /dev/vdb1进行挂载了
    5.cryptsetup open /dev/vdb1 name  解密之后需要一个新名字
     ——输入加密时设定的密码
    6.name存在位置 : /dev/mapper/name
    7.ll   可以查看/dev/mapper/name 属性
    8.mkfs.xfs /dev/mapper/name
    9.mount /dev/mapper/name /mnt  解密之后可以对其重新挂载
    10.touch /mnt/file{1..3}
    11.umount /mnt
        ——df 查看物理状态
    12.cryptsetup close /dev/mapper/name
        ——关闭name(重新开启加密方式)
    13.ll /dev/mapper/
    14.mount /dev/vdb1 检测重新加密是否成功

[root@localhost mnt]# partprobe
[root@localhost mnt]# cryptsetup luksFormat /dev/vdb1   #加密
WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.

Are you sure? (Type uppercase yes): YES

Enter passphrase:

Verify passphrase:
[root@localhost mnt]# mount /dev/vdb1 /mnt/ 
mount: unknown filesystem type 'crypto_LUKS'
[root@localhost mnt]# cryptsetup open /dev/vdb1 jiemi   #打开
Enter passphrase for /dev/vdb1:
[root@localhost mnt]# ls  /dev/mapper/
control  jiemi
[root@localhost mnt]# mkfs.xfs /dev/mapper/jiemi    #格式化
meta-data=/dev/mapper/jiemi      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

[root@localhost mnt]# mount /dev/mapper/jiemi /mnt/
[root@localhost mnt]# touch file{1..3}
[root@localhost mnt]# ls
file1  file2  file3
[root@localhost mnt]# df
Filesystem        1K-blocks    Used Available Use% Mounted on
/dev/vda1          10473900 4335888   6138012  42% /
devtmpfs             927072       0    927072   0% /dev
tmpfs                942660      84    942576   1% /dev/shm
tmpfs                942660   17028    925632   2% /run
tmpfs                942660       0    942660   0% /sys/fs/cgroup
/dev/mapper/jiemi     96940    5176     91764   6% /mnt
[root@localhost mnt]# umount /mnt/
[root@localhost mnt]# cryptsetup close /dev/mapper/jiemi  #关闭
[root@localhost mnt]# ls /dev/mapper/
control
[root@localhost mnt]# mount /dev/vdb1 /mnt/
mount: unknown filesystem type 'crypto_LUKS'
[root@localhost mnt]# 


[设置开机自动挂载]
    1.vim /root/passwdfie    写如加密时的密码
     ————xiamin0099
    2.chmod 600 /root/passwdfile
    3.cryptsetup luksAddKey /dev/vdb1 /root/passwdfile 将分区和密码文件连接起来
    5.vim /etc/crypttab
     ————name(解密之后的名字) /dev/vdb1(设备)  /root/passwdfile(密码存放文件)
    6.vim /etc/rc.d/rc.local
     ————mount /dev/mapper/date(解密之后的文件) /mnt
    7.chmod u+x /etc/rc.d/rc.local
    8.df  查看目前挂载状况
    9.reboot————df  重启之后查看开机自动挂载是否成功
[root@localhost mnt]# vim /root/mima
[root@localhost mnt]# chmod 600 /root/mima
[root@localhost mnt]# cryptsetup luksAddKey /dev/vdb1 /root/mima
Enter any passphrase:
[root@localhost mnt]# vim /etc/crypttab
[root@localhost mnt]# vim /etc/crypttab
[root@localhost mnt]# cat /etc/crypttab
jiemi   /dev/vdb1   /root/mima
[root@localhost mnt]# vim /etc/rc.d/rc.local
[root@localhost mnt]# chmod u+x /etc/rc.d/rc.local
[root@localhost mnt]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       10473900 4336884   6137016  42% /
devtmpfs          927072       0    927072   0% /dev
tmpfs             942660      84    942576   1% /dev/shm
tmpfs             942660   17024    925636   2% /run
tmpfs             942660       0    942660   0% /sys/fs/cgroup
[root@localhost mnt]# reboot

10.磁盘配额

    检查内核是否支持quota
    检查文件系统是否支持quota 
    初始化磁盘配额数据库
    配置磁盘配额
    激活(关闭)
    测试
    修改默认期限
    拷贝磁盘配额给其它账户(-p)


[概念]
配额:系统管理员对某一个普通账户可以使用磁盘的额度
区块配额:以大小限制普通用户的使用
inode索引节点配额:在分区里面可以创建目录或者文件的个数
软限制:到达一定额度之后到达软限制,继续使用,最后到达硬限制,不能再继续使用


制作
[root@localhost ~]# cat /boot/config-3.10.0-123.el7.x86_64 | grep -i quota
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y      #检查内核是否支持磁盘配额
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
[root@localhost ~]# 


^^^^视频
    云路课堂---磁盘管理 | 博客

[root@localhost ~]# fdisk /dev/vdb #新建分区|分区不需要格式化
[root@localhost ~]# partprobe 
[root@localhost ~]# mkfs.xfs /dev/vdb1 
[root@localhost ~]# mkdir /pub
[root@localhost ~]# mount -o usrquota,grpquota /dev/vdb1 /pub#制作分区
[root@localhost ~]# mount  #查看配额是否制作成功
[root@localhost ~]# quotaon -ugv /dev/vdb1 #开启配额
quotaon: Enforcing group quota already on /dev/vdb1
quotaon: Enforcing user quota already on /dev/vdb1
[root@localhost ~]# edquota -u student #为student用户制作磁盘配额
 Disk quotas for user student (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vdb1                         0        200        300          0        0        0
设备|block|软限制大小|硬限制大小|inode限制|软限制文件个数|硬限制文件个数
[root@localhost ~]# dd if=/dev/zero of=/pub/file bs=1M count=15
[root@localhost ~]# repquota -a
*设置inode
[root@localhost ~]# edquota -g droup   #给组创建配额
[root@localhost ~]# edquota -p user    #烤配磁盘配额给其它账户
*修改磁盘配额的限期
[root@localhost pub]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/vdb1                     7days                  7days
~                                                                
[root@localhost pub]#

11.磁盘阵列

*作用:加快磁盘读写速度

raid0:至少需要两块磁盘(大小相同):同时存一半,读写速度块,但是不安全
raid1:至少需要两块磁盘:同时写全部,写(存储速度慢),但是读快,数据安全性更高
raid5:至少三块磁盘,其中一个用来存放校验位(随机的),但是可以用来做冗余磁盘(其中一块坏了,可以用一块新的来做冗余)
raid10:先做raid1,再做raid0,集合raid1和raid0的优点


[raid5操作]
[root@localhost ~]# fdisk -l
.....
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux
/dev/vdb2          206848      411647      102400   83  Linux
/dev/vdb3          411648      616447      102400   83  Linux
/dev/vdb4          616448      821247      102400   83  Linux
[root@localhost ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/vdb{1,2,3,4}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
*-C指定raid存放位置和名称(只有最后一位数字可变)
 -l指定raid级别
 -n指定除冗余之外的用几块来做raid
 -x指定冗余个数
[root@localhost ~]# mdadm -D /dev/md0  #查看/dev/md0状态
/dev/md0:
        Version : 1.2
  Creation Time : Tue Jul 18 22:39:33 2017
     Raid Level : raid5
     Array Size : 203776 (199.03 MiB 208.67 MB)
  Used Dev Size : 101888 (99.52 MiB 104.33 MB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Jul 18 22:39:43 2017
          State : clean 
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

           Name : localhost:0  (local to host localhost)
           UUID : 12a11745:dd32619c:2cafd8cc:e7b7ad9a
         Events : 18

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

       3     253       20        -      spare   /dev/vdb4
[root@localhost ~]# mdadm -f /dev/md0 /dev/vdb2    #破坏/dev/vdb2
mdadm: set /dev/vdb2 faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0  
.....

    Number   Major   Minor   RaidDevice State
       0     253       17        0      active sync   /dev/vdb1
       3     253       20        1      active sync   /dev/vdb4
       4     253       19        2      active sync   /dev/vdb3

       1     253       18        -      faulty   /dev/vdb2
[root@localhost ~]# mdadm -r /dev/md0 /dev/vdb2        #移除/dev/vdb2
mdadm: hot removed /dev/vdb2 from /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
    Number   Major   Minor   RaidDevice State
       0     253       17        0      active sync   /dev/vdb1
       3     253       20        1      active sync   /dev/vdb4
       4     253       19        2      active sync   /dev/vdb3
[root@localhost md0]# mdadm /dev/md0 -a /dev/vdb2   #添加/dev/vdb2
mdadm: added /dev/vdb2
[root@localhost md0]# mdadm -D /dev/md0 
.....
    Number   Major   Minor   RaidDevice State
       0     253       17        0      active sync   /dev/vdb1
       3     253       20        1      active sync   /dev/vdb4
       4     253       19        2      active sync   /dev/vdb3

       5     253       18        -      spare   /dev/vdb2
[root@localhost ~]# 


*使用
开机生效
[root@localhost md0]# mdadm -Ds > /etc/mdadm.conf   #保存radi的配置文件
[root@localhost md0]# cat /etc/mdadm.conf 
ARRAY /dev/md0 metadata=1.2 name=localhost:0 UUID=12a11745:dd32619c:2cafd8cc:e7b7ad9a
[root@localhost md0]# vim /etc/fstab #写开机启动脚本


删除Raid
[正常删除]
    先卸载
    全部指定为-f
    全部-r(热拔除)
    -S停止
    删除配置文件
    删除分区
    删除md0
[暴力删除]
    直接删除/dev/md0

[root@localhost ~]# mdadm -S /dev/md0  #停止使用(前提/dev/md0不是busy状态)
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm -A /dev/md0  #激活启用(前提是备份了配置文件)
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
[root@localhost ~]# 

*先做此步骤
    创建文件,便于测试
[root@localhost ~]# mkfs.ext4 /dev/md0 
[root@localhost ~]# mkdir /md0
[root@localhost ~]# mount /dev/md0 /md0/
[root@localhost ~]# df
[root@localhost ~]# cd /md0/
[root@localhost md0]# echo hah>file1

^^^^参考文档
http://www.360doc.com/content/16/0109/00/12144668_526529398.shtml

12.LVM:逻辑卷管理

*主要作用,扩容|缩容|支持对分区的动态调整
*扩容:物理卷---->文件系统(在线)
 缩容:文件系统--->物理卷(需要先卸载文件系统)
    物理卷:PV
    卷组:VG
    逻辑卷:LV
    文件系统:大小==LV
--把基础磁盘-->PV
--PV-->卷组VG
--VG-->LV(vg固定大小)
--LV-->文件系统层


*实验环境:需要基础分区

[创建文件系统操作]
新建分区
更新分区表
分区不需要格式化
[root@localhost ~]# pvcreate /dev/vdb{1,2,3,4}
[root@localhost ~]# vgcreate vg0 /dev/vdb{1,2,3,4}    #-s可以指定PE的大小
  Volume group "vg0" successfully created
[root@localhost ~]# lvcreate -L 300M -n lv0 vg0       #-l可以指定使用LE的个数
  Logical volume "lv0" created
[root@localhost ~]# pvscan     #查看PV
  PV /dev/vdb1   VG vg0   lvm2 [96.00 MiB / 0    free]
  PV /dev/vdb2   VG vg0   lvm2 [96.00 MiB / 0    free]
  PV /dev/vdb3   VG vg0   lvm2 [96.00 MiB / 0    free]
  PV /dev/vdb4   VG vg0   lvm2 [96.00 MiB / 84.00 MiB free]
  Total: 4 [384.00 MiB] / in use: 4 [384.00 MiB] / in no VG: 0 [0   ]
[root@localhost ~]# pvdisplay  #查看PV详细信息
[root@localhost ~]# vgscan 
  Reading all physical volumes.  This may take a while...
  Found volume group "vg0" using metadata type lvm2
[root@localhost ~]# vgdisplay
[root@localhost ~]# lvscan 
  ACTIVE            '/dev/vg0/lv0' [300.00 MiB] inherit
[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                JX0GZX-elnX-OgXJ-FBNR-tsB0-SfQ6-dCvV8S
  LV Write Access        read/write
  LV Creation host, time localhost, 2017-07-19 01:39:09 -0400
  LV Status              available
  # open                 0
  LV Size                300.00 MiB
  Current LE             75
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:0

[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0     #制作文件系统层
[root@localhost ~]# mkdir /lv0
[root@localhost ~]# mount /dev/vg0/lv0 /lv0/
[root@localhost ~]# df 
[root@localhost ~]# cd /lv0/
[root@localhost lv0]# ls
lost+found
[root@localhost lv0]# ls
a.txt  file  lost+found
[root@localhost ~]# 

*不需要保存配置文件,制作好了就可以用了  

[扩容操作]

从pv--->文件系统
给PV扩容,直接做一个PV就好
[root@localhost lv0]# vgextend vg0 /dev/vdb5    #括VG
[root@localhost lv0]# lvextend -L +100M /dev/vg0/lv0 #括LV
  Extending logical volume lv0 to 400.00 MiB
  Insufficient free space: 25 extents needed, but only 21 available
[root@localhost lv0]# df -h
[root@localhost lv0]# resize2fs /dev/vg0/lv0 400M   #更新文件系统
[root@localhost lv0]#
*文件系统不受影响

[缩容操作]

[root@localhost ~]# umount /dev/vg0/lv0 
[root@localhost ~]# e2fsck -f /dev/vg0/lv0     #必须执行此步操作
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/vg0/lv0: 13/76912 files (0.0% non-contiguous), 19979/307200 blocks
[root@localhost ~]# resize2fs /dev/vg0/lv0 250M    #缩减lv层
[root@localhost ~]# vgreduce vg0 /dev/vdb4 #缩减vg层
  Removed "/dev/vdb4" from volume group "vg0"
[root@localhost ~]# pvremove /dev/vdb4     #直接移除
  Labels on physical volume "/dev/vdb4" successfully wiped
[root@localhost ~]#

13.制作LVM快照

*把lvm的原数据进行备份
    先挂载lv
    lvcreate /dev/vg0/lv0 -n lv0.snap -L size   #制作快照
    mount /dev/vg0/lv0.snap /opt
    cd /opt/
    ls  (进行备份)

*lvm的迁移
    [本机]
    vgchange -a n   #关闭卷组
    vgexport vg0    #导出卷组
    [它机]
    vgimport vg0    #导入
    cgchange -a y   #打开

——END—–

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值