linux系统管理之磁盘管理--Ⅱ

一.存储管理Ⅱ

1.逻辑卷LVM

1.1.LVM管理

lvm概念
lvm的制作
lvm的使用
lvm扩容
基本分区(MBR|GPT) ----> Filesystem(制作文件系统类型) ----> mount(挂载)
逻辑卷LVM ----> Filesystem(制作文件系统类型) ----> mount(挂载)

1.2.lvm的制作

第一步,拥有基本分区
做成物理卷: pv ------- sdb1、sdb2 打pv的标记。
加入卷组:  vg-------- 卷组名字里面包含:sdb1  sdb2
逻辑卷   lv  -------  逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名.
制作文件系统------mkfs.xfs    lvm路径
挂载 ------mount   使用lvm
​
#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的

实战

1.3.创建LVM

首先准备添加3块磁盘:可以是/dev/sdb这种没有分区的也可以是/dev/sdb1这种已经分区了的

[root@linux-server ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 Nov  9 12:59 /dev/sda
brw-rw----. 1 root disk 8,  1 Nov  9 12:59 /dev/sda1
brw-rw----. 1 root disk 8,  2 Nov  9 12:59 /dev/sda2
brw-rw----. 1 root disk 8, 16 Nov  9 12:59 /dev/sdb
brw-rw----. 1 root disk 8, 32 Nov  9 12:59 /dev/sdc
brw-rw----. 1 root disk 8, 48 Nov  9 14:04 /dev/sdd

创建pv

[root@linux-server ~]# pvcreate /dev/sdb #创建pv
  Physical volume "/dev/sdb" successfully created.
[root@linux-server ~]# pvs  #查看pv
  PV         VG     Fmt  Attr PSize   PFree 
  /dev/sdb          lvm2 ---   10.00g 10.00g
[root@linux-server ~]# pvscan  #查看pv
  PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
  PV /dev/sdb                       lvm2 [10.00 GiB]
  Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB]

创建vg

[root@linux-server ~]# vgcreate vg1 /dev/sdb   #创建vg
  Volume group "vg1" successfully created
参数解释:
-s 16M 指的是在分区的时候指定vg的大小。
[root@linux-server ~]# vgs    #查看vg
  VG     #PV #LV #SN Attr   VSize   VFree  
  centos   1   2   0 wz--n- <19.00g      0 
  vg1      1   0   0 wz--n- <10.00g <10.00g
[root@linux-server ~]# vgscan
  Reading volume groups from cache.
  Found volume group "centos" using metadata type lvm2
  Found volume group "vg1" using metadata type lvm2
[root@linux-server ~]# vgdisplay #查看vg
--- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <10.00 GiB
  PE Size               4.00 MiB
  Total PE              2559
  Alloc PE / Size       0 / 0 MiB
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp

创建lv

[root@linux-server ~]# lvcreate -L 150M -n lv1 vg1  #创建lv
  Rounding up size to full physical extent 152.00 MiB
  Logical volume "lv1" created.
[root@linux-server ~]# lvcreate -l 20 -n lv2 vg1  #在创建一个lv
  Logical volume "lv2" created.
参数解释:
-L 指定lv的大小
-n 给创建的lv起一个名字
-l 20 指定PE 
[root@linux-server ~]# lvs   #查看lv
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-a----- 152.00m                                                    
  lv2  vg1    -wi-a-----  80.00m 

制作文件系统并挂载

[root@linux-server ~]# mkfs.xfs /dev/vg1/lv1
[root@linux-server ~]# mkfs.ext4 /dev/vg1/lv2
[root@linux-server ~]# mkdir /mnt/lv{1..2}
[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@linux-server ~]# mount /dev/vg1/lv2 /mnt/lv2
[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2

2.VG管理

2.1.扩大VG vgextend

1.创建pv
[root@linux-server ~]# pvcreate /dev/sdc 
  Physical volume "/dev/sdc" successfully created.
2.直接vgextend扩容
[root@linux-server ~]# vgextend vg1 /dev/sdc       #vg1卷组名字,将/dev/sdc扩展到vg1中
  Volume group "vg1" successfully extended
[root@linux-server ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      2   2   0 wz--n-  19.99g 18.23g

实战lv扩容

注意:如果lv所在的vg有空间直接扩容就ok了!
[root@linux-server ~]# vgs  #查看vg
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      1   2   0 wz--n- <19.99g <9.77g
[root@linux-server ~]# lvextend -L 850M /dev/vg1/lv1  #扩展到850M
[root@linux-server ~]# lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
[root@linux-server ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-ao----   1.66g                                                    
  lv2  vg1    -wi-ao----  80.00m 
[root@linux-server ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
[root@linux-server ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-ao----  <1.68g                                                    
  lv2  vg1    -wi-ao----  80.00m

FS(file system)文件系统扩容

[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
[root@linux-server ~]# xfs_growfs /dev/vg1/lv1  #xfs扩容
[root@linux-server ~]# resize2fs /dev/vg1/lv2   #ext4扩容
[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       1.7G  9.1M  1.7G   1% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2

二.交换分区

交换分区管理 Swap---也叫虚拟内存

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

一、查看当前的交换分区

[root@linux-server ~]# free -m 
              total        used        free      shared  buff/cache   available
Mem:           1984         155        1679           8         149        1656
Swap:          2047           0        2047
[root@linux-server ~]# swapon -s  #查看交换分区信息

二、增加交换分区 可以是基本分区,LVM,File

[root@linux-server ~]# fdisk /dev/sdd  #分一个主分区出来
[root@linux-server ~]# partprobe /dev/sdd #刷新分区表
[root@linux-server ~]# ll /dev/sdd*
brw-rw----. 1 root disk 8, 16 Nov  9 14:11 /dev/sdd
brw-rw----. 1 root disk 8, 17 Nov  9 14:11 /dev/sdd1

初始化

[root@linux-server ~]# mkswap /dev/sdd1  #初始化
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=d2fd3bc0-10c0-4aeb-98ea-6b640d29b783

挂载

[root@linux-server ~]# blkid /dev/sdd1  #查看UUID
/dev/sdd1: UUID="d2fd3bc0-10c0-4aeb-98ea-6b640d29b783" TYPE="swap" 
[root@linux-server ~]# vim /etc/fstab  #制作开机挂载
/dev/sdd1       swap    swap    defaults        0 0
[root@linux-server ~]# swapon -a #激活swap分区(读取/etc/fstab)
[root@linux-server ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       2097148 0       -1
/dev/sdd1                               partition       5242876 0       -2
​
#swapoff /dev/sdd1  #关闭swap分区

file制作

[root@linux-server ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
解释:dd  读入从空设备里面拿空块 到交换分区 块多大  一共多少兆
[root@linux-server ~]# mkswap /swap2.img  #初始化
[root@linux-server ~]# vim /etc/fstab
/swap2.img      swap    swap    defaults        0 0
[root@linux-server ~]# chmod 600 /swap2.img #交换分区权限需要设置为600,默认644权限不安全。
[root@linux-server ~]# swapon -a
[root@linux-server ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       2097148 0       -1
/dev/sdd1                               partition       5242876 0       -2
/swap2.img                              file    524284  0       -3

三.mount详解

常用挂载选项详解

挂载设备文件名、UUID

常见的挂载选项

-t         文件系统类型
-o         指定文件系统属性
rw         读写 
ro         只读 
suid        支持suid 
dev         支持设备文件
nodev       不支持设备文件 
noexec      不允许执行二进制文件
exec            允许执行二进制文件 
auto            mount -a 开机自动挂载 
noauto      mount -a 开机不自动挂载 
usrquota    支持用户级磁盘配额功能
grpquota    支持组级磁盘配额功能
acl         支持facl功能 
remount 在线重新挂载 
pri            指定优先级
文件系统类型:ext3 ext4,xfs,nfs,cifs,iso9660,loop
NAS存储:属于网络存储的一种。    
nfs:小服务,作为共享存储来使用  linux 和 linux 之间的存储。
cifs:小服务,作为共享存储来使用  linux 和windows  之间的存储。
loop  挂载镜像的时候使用  (红6.5时必须指定)把文件因生成一个本地设备
[root@linux-server ~]# mount  #查看已经挂载上的系统的属性

案例1:exec/noexec

[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1/     #挂载默认是有执行权限的
[root@linux-server ~]# mount -o noexec /dev/vg1/lv2 /mnt/lv2  #不允许执行二进制文件
[root@linux-server ~]# cat /mnt/lv1/hello.sh
#!/bin/bash
echo "hello"
​
[root@linux-server ~]# cat /mnt/lv2/hello2.sh
#!/bin/bash
echo "hello"
[root@linux-server ~]# chmod +x /mnt/lv1/hello.sh 
[root@linux-server ~]# chmod +x /mnt/lv2/hello2.sh
[root@linux-server ~]# /mnt/lv1/hello.sh
hello
[root@linux-server ~]# /mnt/lv2/hello2.sh
-bash: /mnt/lv2/hello2.sh: Permission denied

取消挂载

[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       1.7G   34M  1.7G   2% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
[root@linux-server ~]# umount /mnt/lv2/

四raid--磁盘阵列

raid(廉价磁盘冗余阵列)

软raid   (现在讲的这个)。
硬raid   在工作中相当重要--需要raid的卡,有自己的cpu。处理速度快,有电池和无电池。
​
#所有服务器在安装操作系统之前必须先做raid【常识】

作用

1.容错、2.提升磁盘的读写速率----读写称之为I/O速率,

最常用的raid级别:0、1、5、10:10是 1和0 的组合

raid0 ---条带卷
最少需要两块磁盘,分别往每一块磁盘上写一部分数据
优点:读写速度快
缺点:没有其他raid级别安全性高
磁盘利用率:100%
​
raid1 又叫镜像raid
一般需要两块磁盘,每块磁盘上都会存储一份完整数据
优点:安全性高,读速度快,容错
缺点:写速度慢
磁盘利用率:50%
​
raid5
最少需要3块磁盘,两块磁盘存数据,一块磁盘存校验位,但基本每个盘里面都有校验位。
优点:可以找回丢失的数据---数据可以通过校验计算得出,
冗余磁盘-->(一般用四块其中一块做热备)当某一块磁盘坏掉后,冗余磁盘会自动替换上去
安全性比raid1还高
读写速度在raid0和raid1之间
磁盘利用率:(n-1)/n:比如10块盘减去一块盘在除10.那就是十分之九的利用率。
​
raid6:四块磁盘,两块存校验位。容错:允许两块磁盘同时坏掉。读写快。

猜你喜欢

转载自blog.csdn.net/qfxulei/article/details/108405900