Linux(Centos7)存储管理

存储管理

基本分区

^流程: 分区、格式化(文件系统)、挂载。

1.查看磁盘信息

# lsblk

2.创建分区

创建
# disk    /dev/sdb
1.n       //创建新分区     
2.p       //主分区      
3.1       //选择1号分区       
4.回车    //确定起始扇区
5.+size   //结束大小       
6.w       //保存分区设置
7.d       //删除
查看分区信息
# fdisk -l /dev/sdb       //查看分区信息
# partprobe /dev/sdb      //在有缓存的时候,刷新磁盘分区表。

3.格式化(创建文件系统)

# mkfs.ext4    /dev/sdb1        

^注: centos7 默认使用 xfs文件系统

4.挂载

手动挂载 [重启失效]
   1>   创建挂载点   mikdir  /mnt/disk1(名字随意)
   2>   # mount -t ext4  /dev/sdb1 /mnt/disk1       //手动不推荐
   3>   # mount -t xfs  /dev/sdb2 /mnt/disk2       //手动不推荐
自动挂载 [重启不失效]
  • 查看分区 ID (UUID)
# blkid
  • 使用UUID创建分区
1> # vim  /etc/fstab
2> UUID复制到原有的UUID下面 
       UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" /mnt/disk1 auto defaults 0 0 
       UUID="4d26172c-7aff-4388-baa5-c6756c014d52" /mnt/disk2 ext4 defaults 0 0
3> 手动刷新  mount -a
注意/etc/fstab中有固定格式
磁盘                   挂载点    文件系统        属性   备份  检测
/dev/vdb1   /mnt/disk1    xfs或者auto    default    0     0
查看挂载信息
# df -hT

逻辑卷LVM

^目的: 管理磁盘的一种方式,性质与基本磁盘无异
^特点: 随意扩张大小,缩减大小,快照备份。
^流程: 格式化、挂载

名词

PV:物理卷(Physical volume)
VG:卷组(Volume Group)
LV:逻辑卷(Logical Volume)
PE:物理块(Physical Extent)
LE:逻辑块(Logical Extent)
创建LVM
1.pv
将物理磁盘转转换成物理卷 -pv
# pvcreate /dev/sdc

查看pv信息
# pvcan    # pvs  #pvdisplay   
2.vg

^vgcreate: 将使用pvcreate建立的物理卷创建为一个完整的卷组

创建卷组 -vg
# vgcreate vg1   /dev/sdc
3.lv
# lvcreate  -L  200M   -n lv1   vg1 
             |------|---|---|----|------------- 指定大小   
                        |   |----|------------- 指定lv名
                                 |--------------指定卷组
# 指定大小单位:M,G
# lvscan    //查看lv
4.创建文件系统
mkfs.ext4  /dev/vg1/lv1 
5.挂载
# 见基本分区挂载
VG管理
扩容
  • 创建PV
#pvcreate  /dev/sdd
  • 扩展PV
# vgextend vg1 /dev/sdd
缩容

注意!数据迁移。

  • 查看pv使用情况
pvs
  • 数据迁移
# pvmove /dev/sdc
^注:此处迁移的是vg里的数据
# pvs   
^注:再次查看空间已发生变化
  • 缩减 vgreduce
# vgreduce vg1 /dev/sdd
^注:vgs 观察 pv数量变少了
LV扩容
1.扩容lv
1> 查看vg空间
# vgs
2> 扩容 lvextend
# lvextend  -L +200M  /dev/vg1/lv1

2.扩容FS

# resize2fs  /dev/vg1/lv1
2.减小lv
1> 卸载 
# umount  /dev/vg1/lv1
2> 调整分区大小
# e2fsck -f /dev/vg1/lv1
# resize2fs -p /dev/vg1/lv1 100M
3> 减容
# lvreduce -L 200M  /dev/vg1/lv1
4> 挂载

LVM快照snap

创建
创建快照卷((ext4)
# lvcreate -L 128M -s -n lv1-snap /dev/vg1/vg1

^注: 注意vg大小

查询快照卷大小
# lvs
挂载快照卷
1>创建目录
# mkdir /mnt/lv1-snap
2>mount -o ro /dev/vg1/lv1-snap  /mnt/lv1-snap

查看Snapshot

1>查看两个卷挂载情况
# df -Th 
2>查看两个卷的关系
# lvscan
3>查看文件内容
# ls /mnt.lv1
4>观察Snapshot
# lvs
^注:XFS不识别uuid,所以需要单独加上-o nouuid来忽略。挂载快照尽量使用ro方式,不易损坏数据。
# mount -o nouuid,ro /dev/vg1/lv1-snap /mnt/lv1-snap/

恢复

进入快照目录
# cd  /mnt/lv1-snap
打包内容
# tar  -cf snap.tar
卸载快照
# umount  /mnt/lv1-snap
解压到原目录
# tar xf

交换分区swap

简介

作用

‘提升‘ 内存的容量,防止OOM(Out Of Memory)

swap大小

交换分区大小为内存的2倍

查看当前交换分区
# free -m
total used free shared buff/cache available
Mem: 489 140 145 4 202 304
Swap: 0 0 0

# swapon -s
增加交换分区

^注: 以LVM为例

准备分区
# fdisk /dev/sde         //划分分区磁盘
格式化
# mkswap  /dev/sde1
挂载
1>查询uuid
# blkid /dev/sde1
2>自动挂载
# vim /etc/fstab
3> 读取
# swapon -s
交换分区调优
swap优先级
swap分区的优先级(Priority)从高到低依次使用,最高32767,最低优先级是0

这样设置使得Linux并行的使用优先级相同的swap分区(Priority = 1的分区),这会大幅的提高对swap的读写。当这些分区满了,就会使用较低优先级swap分区(Priority = 0的分区) 
设置
# /vim/etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults,pri=1 0 0                                                               ↑注意
UUID="ea5b1c77-e540-465c-9644-0d75457f8b45" swap swap defaults,pri=1 0 0↑                                                              ↑注意
# swapon -a
# swapon -s

文件系统详解

EXT3/4文件系统

类型

索引index文件系统

存储结构

磁盘>分区>文件系统>块组>索引目录>数据块

名词
superblock
#记录此文件系统的整体信息。包括inode/block的总量,使用量,剩余量,以及文件系统的格式等等。
inode
#记录文件的属性(文件的元数据metadata),一个文件占用一个inode,同时记录此文件数据所在的block numbber。inode大小 为 128 bytes
block
# 实际存储文件的内容,若文件较大,会占用多个block。block大小 为 1, 2, 4K
查看方式
  • ext4文件系统
1>通过 dumpefs查看
# dumpe2fs  /dev/vg1/lv1
# dumpe2fs /mnt/lv2 |les
2>通过tunfs查看
# tune2fs -l /dev/sda3
  • xfs文件系统
# xfs_growfs /dev/vg1/lv1
# xfs_info /dev/vg1/lv1

文件链接

软连接

^注: 软连接是一个新文件,像快捷方式。可以对文件和目录做软连接,软连接记录的是源文件的绝对路径。软连接失去不可用。

创建方式
# ln -s  /file1     /home/file11

硬链接

^注: 1.硬链接只对文件做,不能对目录做。2.硬链接只能在同分区做。3.硬链接不占block只是复制了inode。

# ln /file1 /home/file11

RAID

raid:廉价磁盘冗余阵列

作用

容错,提升读写速度。

raid0 条带集 2+100% 读写速率快,不容错
raid1 镜像集 2 50%读写速率一般,容错。
raid5 带奇偶校检条带集 3+(n-1)/n 读写快,容错,允许坏一块
raid6 带奇偶校验条带集双校验 4+ (n-2)/n 读写快,容错,允许坏两块
raid10 RAID1的安全+RAID0的高速 4 50% 读写速率快,容错
raid50 RAID5的安全+RAID0的高速 6 (n-2)/n 读写速率快,容错
raid60 RAID6的安全+RAID0的高速 8 (n-4)/n 读写速率快,容错

实现方式

硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池。
软RAID: 通过操作系统实现,比如Windows、Linux

附表1

功能 物理卷管理 卷组管理 逻辑卷管理
Scan 扫描 pvscan vgscan lvsacan
Crerate 建立 pvcreate vgcreate lvcreate
Display 显示 pvdisplay vgdisplay lvdispaly
Remove 删除 pvremove vgremove lvremove
Extend 扩展 vgextend lvextend
Reduce 减少 vgreduce lvreduce

附表2

功能 命令
查看磁盘信息 lsblk
查看分区 ID (UUID) blkid
查看挂载信息 df -hT

你可能感兴趣的:(运维)