LVM管理 lvm管理 部署lvm 格式化邏輯捲(剛剛創建出來的):mkfs.ext4格式、還是xfs_growfs 格式都可以 [root@lnh ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─s ...
LVM管理
目錄
lvm管理
部署lvm
格式化邏輯捲(剛剛創建出來的):mkfs.ext4格式、還是xfs_growfs 格式都可以
[root@lnh ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cs-root 253:0 0 65.2G 0 lvm /
├─cs-swap 253:1 0 2G 0 lvm [SWAP]
└─cs-home 253:2 0 31.8G 0 lvm /home
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sde 8:64 0 5G 0 disk
sr0 11:0 1 9G 0 rom
//查看一下磁碟
[root@lnh ~]# pvcreate /dev/sd{d,e} //創建物理捲
Physical volume "/dev/sdd" successfully created.
Physical volume "/dev/sde" successfully created.
[root@lnh ~]# pvs //查看物理捲
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <99.00g 0
/dev/sdd lvm2 --- 5.00g 5.00g
/dev/sde lvm2 --- 5.00g 5.00g
[root@lnh ~]# vgcreate lnh /dev/sd{d,e} //創建捲組
Volume group "lnh" successfully created
[root@lnh ~]# vgs //查看捲組
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <99.00g 0
lnh 2 0 0 wz--n- 9.99g 9.99g
[root@lnh ~]# lvcreate -n lnh1 -L 3G lnh //創建邏輯捲
Logical volume "lnh1" created.
[root@lnh ~]# lvs //查看邏輯捲
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cs -wi-ao---- 31.81g
root cs -wi-ao---- 65.15g
swap cs -wi-ao---- 2.03g
lnh1 lnh -wi-a----- 3.00g
[root@lnh ~]# mkfs.ext4 /dev/lnh/lnh1 //格式化邏輯捲(絕對路徑)
mke2fs 1.45.6 (20-Mar-2020) //也可以用 xfs_growfs格式化
Creating filesystem with 786432 4k blocks and 196608 inodes
Filesystem UUID: 00961f51-0f48-492d-aac0-1e2fb3de6922
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
[root@lnh ~]# mkdir /ma //創建邏輯捲掛載點目錄
[root@lnh ~]# blkid | grep lnh1 //過濾出邏輯捲的uuid
/dev/mapper/lnh-lnh1: UUID="00961f51-0f48-492d-aac0-1e2fb3de6922" BLOCK_SIZE="4096" TYPE="ext4"
[root@lnh ~]# vim /etc/fstab //進行永久掛載
[root@lnh ~]# mount -a //重新載入掛載
[root@lnh ~]# df -Th //查看
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 956M 0 956M 0% /dev
tmpfs tmpfs 975M 0 975M 0% /dev/shm
tmpfs tmpfs 975M 8.8M 966M 1% /run
tmpfs tmpfs 975M 0 975M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 66G 4.2G 62G 7% /
/dev/mapper/cs-home xfs 32G 260M 32G 1% /home
/dev/sda1 xfs 1014M 178M 837M 18% /boot
tmpfs tmpfs 195M 0 195M 0% /run/user/0
/dev/mapper/lnh-lnh1 ext4 2.9G 9.0M 2.8G 1% /ma
擴展邏輯捲
擴展邏輯捲:mkfs.ext4格式、還是xfs_growfs 格式都可以
[root@lnh ~]# lvextend -L 6G /dev/lnh/lnh1 //將原來的3G擴展到6G(指定大小)
Size of logical volume lnh/lnh1 changed from 3.00 GiB (768 extents) to 6.00 GiB (1536 extents).
Logical volume lnh/lnh1 successfully resized.
[root@lnh ~]# resize2fs /dev/lnh/lnh1 //格式化擴展(mkfs.ext4格式)
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/lnh/lnh1 is mounted on /ma; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/lnh/lnh1 is now 1572864 (4k) blocks long.
[root@lnh ~]# df -Th //查看
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 956M 0 956M 0% /dev
tmpfs tmpfs 975M 0 975M 0% /dev/shm
tmpfs tmpfs 975M 8.8M 966M 1% /run
tmpfs tmpfs 975M 0 975M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 66G 4.2G 62G 7% /
/dev/mapper/cs-home xfs 32G 260M 32G 1% /home
/dev/sda1 xfs 1014M 178M 837M 18% /boot
tmpfs tmpfs 195M 0 195M 0% /run/user/0
/dev/mapper/lnh-lnh1 ext4 5.9G 12M 5.6G 1% /ma
//lvextend -L +6G /dev/lnh/lnh1在我這個lnh1邏輯捲3G的基礎上再擴展6G
如果這個邏輯捲之前是xfs_growfs格式的那麼要用xfs_growfs 格式擴展格式化
裁剪邏輯捲
[root@lnh ~]# umount /ma //取消掛載
[root@lnh ~]# e2fsck -f /dev/lnh/lnh1 //檢查lnh1邏輯捲文件系統
e2fsck 1.45.6 (20-Mar-2020)
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/lnh/lnh1: 11/393216 files (0.0% non-contiguous), 47214/1572864 blocks
[root@lnh ~]# resize2fs /dev/lnh/lnh1 4G
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/lnh/lnh1 to 1048576 (4k) blocks.
The filesystem on /dev/lnh/lnh1 is now 1048576 (4k) blocks long.
[root@lnh ~]# lvreduce -L 4G /dev/lnh/lnh1 //格式化裁剪到4G
WARNING: Reducing active logical volume to 4.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lnh/lnh1? [y/n]: y
Size of logical volume lnh/lnh1 changed from 6.00 GiB (1536 extents) to 4.00 GiB (1024 extents).
Logical volume lnh/lnh1 successfully resized.
[root@lnh ~]# e2fsck -f /dev/lnh/lnh1 //檢查lnh1邏輯捲文件系統
e2fsck 1.45.6 (20-Mar-2020)
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/lnh/lnh1: 11/262144 files (0.0% non-contiguous), 38990/1048576 blocks
[root@lnh ~]# mount -a //讀取掛載
[root@lnh ~]# df -Th //查看
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 956M 0 956M 0% /dev
tmpfs tmpfs 975M 0 975M 0% /dev/shm
tmpfs tmpfs 975M 8.8M 966M 1% /run
tmpfs tmpfs 975M 0 975M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 66G 4.2G 62G 7% /
/dev/mapper/cs-home xfs 32G 260M 32G 1% /home
/dev/sda1 xfs 1014M 178M 837M 18% /boot
tmpfs tmpfs 195M 0 195M 0% /run/user/0
/dev/mapper/lnh-lnh1 ext4 3.9G 24M 3.7G 1% /ma
刪除捲
[root@lnh ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 956M 0 956M 0% /dev
tmpfs tmpfs 975M 0 975M 0% /dev/shm
tmpfs tmpfs 975M 8.8M 966M 1% /run
tmpfs tmpfs 975M 0 975M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 66G 4.2G 62G 7% /
/dev/mapper/cs-home xfs 32G 260M 32G 1% /home
/dev/sda1 xfs 1014M 178M 837M 18% /boot
tmpfs tmpfs 195M 0 195M 0% /run/user/0
/dev/mapper/lnh-lnh1 ext4 3.9G 24M 3.7G 1% /ma
[root@lnh ~]# umount /ma //取消掛載
[root@lnh ~]# lvs //查看邏輯捲
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cs -wi-ao---- 31.81g
root cs -wi-ao---- 65.15g
swap cs -wi-ao---- 2.03g
lnh1 lnh -wi-ao---- 4.00g
[root@lnh ~]# lvremove /dev/lnh/lnh1 //刪除邏輯捲
Do you really want to remove active logical volume lnh/lnh1? [y/n]: y
Logical volume "lnh1" successfully removed
[root@lnh ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cs -wi-ao---- 31.81g
root cs -wi-ao---- 65.15g
swap cs -wi-ao---- 2.03g
[root@lnh ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <99.00g 0
lnh 2 1 0 wz--n- 9.99g 5.99g
[root@lnh ~]# vgremove lnh //刪除捲組
Volume group "lnh" successfully removed
[root@lnh ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <99.00g 0
[root@lnh ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <99.00g 0
/dev/sdd lvm2 --- 5.00g 5.00g
/dev/sde lvm2 --- 5.00g 5.00g
[root@lnh ~]# pvremove /dev/sd{d,e} //刪除物理捲
Labels on physical volume "/dev/sdd" successfully wiped.
Labels on physical volume "/dev/sde" successfully wiped.
[root@lnh ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <99.00g 0
[root@lnh ~]# pvcreate /dev/sd{c,d,e}
WARNING: sun signature detected on /dev/sdc at offset 508. Wipe it? [y/n]: y
Wiping sun signature on /dev/sdc.
Physical volume "/dev/sdc" successfully created.
Physical volume "/dev/sdd" successfully created.
Physical volume "/dev/sde" successfully created.
[root@lnh ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <99.00g 0
/dev/sdc lvm2 --- 5.00g 5.00g
/dev/sdd lvm2 --- 5.00g 5.00g
/dev/sde lvm2 --- 5.00g 5.00g
[root@lnh ~]# vgcreate lnh /dev/sd{c,d,e}
Volume group "lnh" successfully created
[root@lnh ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <99.00g 0
lnh 3 0 0 wz--n- <14.99g <14.99g
[root@lnh ~]# vgreduce lnh /dev/sdc
Removed "/dev/sdc" from volume group "lnh"
[root@lnh ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <99.00g 0
lnh 2 0 0 wz--n- 9.99g 9.99g
[root@lnh ~]# vgreduce lnh /dev/sdd
Removed "/dev/sdd" from volume group "lnh"
[root@lnh ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <99.00g 0
lnh 1 0 0 wz--n- <5.00g <5.00g
//從同一個捲組的中移除物理捲
同捲組進行數據遷移
[root@lnh ~]# vgcreate lnh /dev/sd{b,c}
Volume group "lnh" successfully created
[root@lnh ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <99.00g 0
lnh 2 0 0 wz--n- 9.99g 9.99g
[root@lnh ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <99.00g 0
/dev/sdb lnh lvm2 a-- <5.00g <5.00g
/dev/sdc lnh lvm2 a-- <5.00g <5.00g
[root@lnh ~]# pvmove /dev/sdb
/dev/sdb: Moved: 5.08%
/dev/sdb: Moved: 100.00%
[root@lnh ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <99.00g 0
/dev/sdb lnh lvm2 a-- <5.00g <5.00g
/dev/sdc lnh lvm2 a-- <5.00g <4.00g
//本來是sdb裡面它的總大小是5G,內部資料占用了1G,然後數據轉移後就變成sdc裡面的內部質量占1G,總大小5G
linux計劃任務管理
作業
- 在linux系統中備份腳本backup.sh需要再每周1-5的每天下午1點和晚上8點執行,下列哪個cron命令可以完成(d)
a. 00 13,20 * 1-5 * backup.sh
b. 0 13,20 1,5 * * backup.sh
c. * 13,20 * * 1-5 backup.sh
d. 00 13,20 * * 1-5 backup.sh
說明以上答案每一行是什麼含義
a:每年1-5月的每天下午1點和晚上8點執行
b:每月的1號和5號每天下午1點和晚上8點執行
c:錯誤表示
d:每周星期一到星期五的每天下午1點和晚上8點執行
- 新建/scripts/httpd.sh文件,並讓/scripts/httpd.sh腳本在每天的00:10分執行
[root@lnh ~]# mkdir /scripts
[root@lnh ~]# touch /scripts/httpd.sh
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
10 00 * * * /usr/bin/sh /scripts/httpd.sh
- 新建/backup目錄,每周一下午5:50將/backup目錄下的所有文件打包成 backup.tar.gz
[root@lnh ~]# mkdir /backup
[root@lnh ~]# which tar
/usr/bin/tar
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
##壓縮
50 17 * * * /usr/bin/tar -zcf backup.tar.gz /backup
- 寫一個定時任務,每天0點5分把/var/log/nginx下7天前的文件轉移到/backup/2018_xx_xx的目錄中
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
##轉移文件
5 0 * * * /usr/bin/find /var/log/nginx -mtime +7 | xargs /usr/bin/mv {} /backup/$(date '+%Y_%m_%d')
- 系統腳本/scripts/which.sh,如何定時每隔7分鐘執行一次?
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
*/7 * * * * /usr/bin/scripts /scripts/which.sh
- 如何不小心刪除了/var/spool/cron/root文件,該如何恢復。
經查,CentOS 系統的 crontab 任務的日誌,列印在 /var/log/cron 之中。考慮過濾日誌:
cat /var/log/cron* | grep -i "某個用戶" | grep "CMD" | awk -F ‘(‘ ‘{print $3}‘ | awk -F ‘)‘ ‘{print $1}‘ | sort -u > crontab_tmp
說明??:
grep -i "某個用戶" :是為了過濾某個用戶的信息。比如你在test這個賬戶下誤操作“crontab -r”刪除當前用戶的crontab文件,那麼你可以使用 grep -i "test" 過濾test賬戶使用的
命令。
後續根據提取出來的命令再去 /var/log/cron文件中確認一下時間間隔,按照指定的方式恢復至/var/spool/cron/。