一.存儲管理Ⅱ
盛年不重來谨娜,一日難再晨。
及時當(dāng)勉勵磺陡,歲月不待人趴梢。
1.邏輯卷LVM
文件系統(tǒng)(xfs,ext3,ext4)
快速操作指導(dǎo)步驟:
1.創(chuàng)建物理卷(PV)所在的分區(qū)漠畜,設(shè)置分區(qū)格式為'Linux LVM',對
應(yīng)的十六進(jìn)制碼為8e(MBR)或8e00(GPT)坞靶。
2.創(chuàng)建物理卷(PV)憔狞。如果你只有一個硬盤,那么你最好只創(chuàng)建一
個分區(qū)一個物理卷彰阴;如果你有多個硬盤瘾敢,你可以創(chuàng)建多個分區(qū),在
每個分區(qū)上分別創(chuàng)建一個物理卷尿这。
3.創(chuàng)建卷組(VG)簇抵,并把所有物理卷加進(jìn)卷組。
4.在卷組上創(chuàng)建邏輯卷(LV)射众。
5.格式化邏輯卷(LV)碟摆。
6.創(chuàng)建掛載點(diǎn)兒,并掛賬格式化后的 LV
1.1.LVM管理
lv概念:
LVM是Linux環(huán)境中對磁盤分區(qū)進(jìn)行管理的一種機(jī)制叨橱,是建立在硬盤和分區(qū)之上典蜕、文件系統(tǒng)之下的一個邏輯層,可提高磁盤分區(qū)管理的靈活性罗洗∮涮颍可以跨分區(qū),多個硬盤組合伙菜。
lvm的制作
lvm的使用
lvm(Logical Volume)擴(kuò)容--在線擴(kuò)容屑宠。可以在有數(shù)據(jù)的情況下去擴(kuò)容仇让。
基本分區(qū)(MBR|GPT) ----> Filesystem(制作文件系統(tǒng)類型) ----> mount(掛載)
邏輯卷LVM ----> Filesystem(制作文件系統(tǒng)類型) ----> mount(掛載)
1.2.lvm的制作
第一步典奉,擁有基本分區(qū)
做成物理卷:pv(Physical Volume) ------- sdb1、sdb2 打pv的標(biāo)記丧叽。處于LVM最底層卫玖,可以是物理硬盤或者分區(qū)。
加入卷組:vg(Volume Group)-------- 卷組名字里面包含:sdb1 sdb2踊淳。建立在PV之上假瞬,可以含有一個到多個PV。
邏輯卷:lv(Logical Volume)------- 大小卷組的空間總和到一起在起個名迂尝,邏輯卷是從卷組里面拿空間出來做成的邏輯卷脱茉。建立在VG之上,相當(dāng)于原來分區(qū)的概念垄开。不過大小可以動態(tài)改變琴许。
制作文件系統(tǒng)------mkfs.xfs lvm路徑
掛載 ------mount 使用lvm
#制作lv的時候可以是一整塊硬盤也可以是硬盤分好的區(qū)并且是還沒有用的。必須是沒有做文件系統(tǒng)的
實戰(zhàn)
1.3.創(chuàng)建LVM
首先準(zhǔn)備添加3塊磁盤:可以是/dev/sdb這種沒有分區(qū)的也可以是/dev/sdb1這種已經(jīng)分區(qū)了的
[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
創(chuàng)建pv
[root@linux-server ~]# pvcreate /dev/sdb #創(chuàng)建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]
創(chuàng)建vg
[root@linux-server ~]# vgcreate vg1 /dev/sdb #創(chuàng)建vg
Volume group "vg1" successfully created
參數(shù)解釋:
-s 16M 指的是在分區(qū)的時候指定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
創(chuàng)建lv
[root@linux-server ~]# lvcreate -L 150M -n lv1 vg1 #創(chuàng)建lv
Rounding up size to full physical extent 152.00 MiB
Logical volume "lv1" created.
[root@linux-server ~]# lvcreate -l 20 -n lv2 vg1 #在創(chuàng)建一個lv
Logical volume "lv2" created.
參數(shù)解釋:
-L 指定lv的大小
-n 給創(chuàng)建的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----- 150.00m
lv2 vg1 -wi-a----- 80.00m
制作文件系統(tǒng)并掛載
[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.擴(kuò)大VG vgextend
1.創(chuàng)建pv
[root@linux-server ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
2.直接vgextend擴(kuò)容
[root@linux-server ~]# vgextend vg1 /dev/sdc #vg1卷組名字榜田,將/dev/sdc擴(kuò)展到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
實戰(zhàn)lv擴(kuò)容
注意:如果lv所在的vg有空間直接擴(kuò)容就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 #擴(kuò)展到850M
[root@linux-server ~]# lvextend -L +800M /dev/vg1/lv1 #在原有基礎(chǔ)上加800M
[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 #在原有基礎(chǔ)上加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)文件系統(tǒng)擴(kuò)容
[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擴(kuò)容
[root@linux-server ~]# resize2fs /dev/vg1/lv2 #ext4擴(kuò)容
[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
二.交換分區(qū)
交換分區(qū)管理 Swap ---(也叫虛擬內(nèi)存)
作用: ‘提升‘ 內(nèi)存的容量,防止OOM(Out Of Memory)內(nèi)存容量不足
現(xiàn)象是當(dāng)內(nèi)存不夠的時候內(nèi)核會隨機(jī)殺死進(jìn)程箭券,它認(rèn)為占用內(nèi)存無關(guān)的進(jìn)程净捅。(內(nèi)核會先刪除占用內(nèi)存多的進(jìn)程)
一、查看當(dāng)前的交換分區(qū)
[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 #查看交換分區(qū)信息
二辩块、增加交換分區(qū) 可以是基本分區(qū)蛔六,LVM,F(xiàn)ile
[root@linux-server ~]# fdisk /dev/sdd #分一個主分區(qū)出來
[root@linux-server ~]# partprobe /dev/sdd #刷新分區(qū)表
[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 #制作開機(jī)掛載
/dev/sdd1 swap swap defaults 0 0
[root@linux-server ~]# swapon -a #激活swap分區(qū)(讀取/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 #關(guān)閉swap分區(qū)
file制作
[root@linux-server ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
解釋:dd 讀入從空設(shè)備里面拿空塊 到交換分區(qū) 塊多大 一共多少兆
[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 #交換分區(qū)權(quán)限需要設(shè)置為600废亭,默認(rèn)644權(quán)限不安全国章。
[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詳解
常用掛載選項詳解
掛載設(shè)備文件名、UUID
常見的掛載選項
-t 文件系統(tǒng)類型
-o 指定文件系統(tǒng)屬性
rw 讀寫
ro 只讀
suid 支持suid
dev 支持設(shè)備文件
nodev 不支持設(shè)備文件
noexec 不允許執(zhí)行二進(jìn)制文件
exec 允許執(zhí)行二進(jìn)制文件
auto mount -a 開機(jī)自動掛載
noauto mount -a 開機(jī)不自動掛載
usrquota 支持用戶級磁盤配額功能
grpquota 支持組級磁盤配額功能
acl 支持facl功能
remount 在線重新掛載
pri 指定優(yōu)先級
[root@linux-server ~]# mount #查看已經(jīng)掛載上的系統(tǒng)的屬性
案例1:exec/noexec
[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1/ #掛載默認(rèn)是有執(zhí)行權(quán)限的
[root@linux-server ~]# mount -o noexec /dev/vg1/lv2 /mnt/lv2 #不允許執(zhí)行二進(jìn)制文件
[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/
作業(yè)
1.創(chuàng)建邏輯卷
2.創(chuàng)建交換分區(qū)