1、創建一個10G分區,并格式為ext4文件系統;
(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;
~]# mke2fs -t mkfs.ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) 文件系統標簽=MYDATA 操作系統:Linux 塊大小=2048 (log=1) 分塊大小=2048 (log=1) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 5241190 blocks 104823 blocks (2.00%) reserved for the super user 第一個數據塊=0 Maximum filesystem blocks=542113792 320 block groups 16384 blocks per group, 16384 fragments per group 2048 inodes per group Superblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 2048000, 3981312 正在寫入inode表: 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 27 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. ~]# tune2fs -o acl /dev/sdb1 tune2fs 1.41.12 (17-May-2010)
(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;
~]# mkdir -pv /data/mydata mkdir: 已創建目錄 "/data" mkdir: 已創建目錄 "/data/mydata" mount -o noatime,noexec /dev/sdb1 /data/mydata/
2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;
# mkswap /dev/sdb2 # swapon /dev/sdb2
3、寫一個腳本
(1)、獲取并列出當前系統上的所有磁盤設備;
(2)、顯示每個磁盤設備上每個分區相關的空間使用信息;
#!/bin/bash fdisk -l |grep "/dev/[hs]d*" echo df -h
4、總結RAID的各個級別及其組合方式和性能的不同;
RAID0:2快以上的磁盤并聯起來,組成一個大容量硬盤。儲放數據時,分段后分散儲存在這些磁盤中。讀寫時可以并行處理, RAID0是速度最快的。 無冗余功能,如果硬盤損壞,數據會丟失 至少2快硬盤 RAID1:兩組以上的N個磁盤相互作鏡像,可用容量為總容量的一半。RAID 1的數據安全性在所有的RAID級別上來說是最好, 讀性能提升、寫性能略有下降 有容錯能力:互為鏡像 至少2快硬盤 RAID5:RAID 5至少需要三塊硬碟,RAID 5不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤上。當RAID5的一個磁盤數據發生損壞後,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。 讀、寫性能提升 有容錯能力:1塊磁盤 至少3快硬盤 RAID6:與RAID 5相比,RAID 6增加第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,任意兩塊磁盤同時失效時不會影響數據完整性。 讀、寫性能提升 有容錯能力:2塊磁盤 至少4快硬盤 RAID10:RAID10是一個混合型陣列,先是把2組(多組)做RAID1 再在2組(多組)基礎上做RAID0, 讀、寫性能提升 有容錯能力:每組鏡像最多只能壞一塊; 至少4快硬盤
5、創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;
mdadm -C /dev/md1 -a yes -c 128 -x 1 -l 1 -n 2 /dev/sdb{1,2,3}
6、創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能;
~]# mdadm -C /dev/md5 -n 3 -l 5 -a yes /dev/sdb{1,2,3} -c 256 ~]# mkfs.ext4 /dev/md5 ~]# echo "/dev/md5 /backup ext4 noatime,acl 0 0" &>> /etc/fstab
7、寫一個腳本
(1) 接受一個以上文件路徑作為參數;
(2) 顯示每個文件擁有的行數;
(3) 總結說明本次共為幾個文件統計了其行數;
#!/bin/bash ## if [ $# -lt 1 ]; then echo "At least on path." exit 1 fi for i in $@; do echo "$i have $(wc -l $i |cut -d" " -f1) lines." done echo "The statistics of the number of lines for $# file"
8、寫一個腳本
(1) 傳遞兩個以上字符串當作用戶名;
(2) 創建這些用戶;且密碼同用戶名;
(3) 總結說明共創建了幾個用戶;
#!/bin/bash # if [ $# -lt 2 ]; then echo "Please enter a string of two or more" exit 2 fi for i in $@; do useradd $i && echo $i | passwd --stdin $i &> /dev/null done echo "A total of created $# users"
9、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和;
#!/bin/bash ### declare -i sum=0 for i in {1..20};do useradd visitorl$i &> /dev/null uid=$(id -u visitorl$i) sum+=$uid done echo "User ID sum:$sum"
10、寫一腳本,分別統計/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#號開頭的行數之和,以及總的空白行數;
#!/bin/bash ### declare -i sum1=0; declare -i sum2=0; for i in /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab; do sum1+=$( grep "^#" $i |wc -l) sum2+=$( grep "^[[:space:]]*$" $i |wc -l) done echo -e "# at the beginning of the row has: $sum1" " Empty line with: $sum2"
11、寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名、UID以及此類所有用戶的UID之和;
#!/bin/bash #### declare -i sum=0; grep "/bin/bash$" /etc/passwd | cut -d: -f1,3 for i in `grep "/bin/bash$" /etc/passwd | cut -d: -f3`;do sum=$[$sum+$i] done echo "These users for the sum of the UID:$sum"
12、寫一個腳本,顯示當前系統上所有,擁有附加組的用戶的用戶名;并說明共有多少個此類用戶;
#!/bin/bash ## declare -i num=0; for i in `cut -d: -f1 /etc/passwd`;do group=$(id $i | cut -d" " -f3 | awk -F, '{print $2}') if [ -n "$group" ];then echo $i let num++ fi done echo "user number: $num"
13、創建一個由至少兩個物理卷組成的大小為20G的卷而在卷組組;要求,PE大小為8M;中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl;
# pvcreate /dev/sda5 # pvcreate /dev/sda6 # pvdisplay --- Physical volume --- PV Name /dev/sda5 VG Name testvg PV Size 10.00 GiB / not usable 3.08 MiB Allocatable yes PE Size 8.00 MiB Total PE 1280 Free PE 640 Allocated PE 640 PV UUID Pc7Y2c-T4G4-VTEX-s9VB-5UJn-PA52-C00blh --- Physical volume --- PV Name /dev/sda6 VG Name testvg PV Size 10.00 GiB / not usable 4.54 MiB Allocatable yes PE Size 8.00 MiB Total PE 1280 Free PE 1280 Allocated PE 0 PV UUID ogazfK-fOVm-jPF8-J5Xz-EWTf-N21W-nZrE12 # vgcreate -s 8M testvg /dev/sda5 /dev/sda6 # vgdisplay --- Volume group --- VG Name testvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 20.00 GiB PE Size 8.00 MiB Total PE 2560 Alloc PE / Size 640 / 5.00 GiB Free PE / Size 1920 / 15.00 GiB VG UUID rUcw27-9g09-u15D-XxoY-xHAA-HPIt-q231rc # lvcreate -L 5G -n mylv1 testvg ]# lvdisplay --- Logical volume --- LV Path /dev/testvg/mylv1 LV Name mylv1 VG Name testvg LV UUID AB7oXl-Dcfd-igBB-BQku-2ndv-NRpP-XIBdI3 LV Write Access read/write LV Creation host, time mylinux, 2016-11-01 11:46:26 +0800 LV Status available # open 1 LV Size 5.00 GiB Current LE 640 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 # mkfs.ext4 /dev/testvg/mylv1 # mkdir /tmp/users # echo "/dev/testvg/mylv1 /tmp/users ext4 defaults,acl 0 0" >> /etc/fastab
14、新建用戶magedu;其家目錄為/users/magedu,而后su切換至此用戶,復制多個文件至家目錄;
# mkdir -p /users/magedu # useradd -d /users/magedu magedu # su - magedu # cp /etc/fstab /users/magedu
15、擴展mylv1至9G,確保擴展完成后原有數據完全可用;
# cp /etc/fstab /tmp/users # lvextend -L +4GB /dev/testvg/mylv1 # resize2fs /dev/testvg/mylv1 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/testvg/mylv1 is mounted on /tmp/users; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/testvg/mylv1 to 2359296 (4k) blocks. The filesystem on /dev/testvg/mylv1 is now 2359296 blocks long. # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 49G 2.6G 44G 6% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 243M 30M 201M 13% /boot /dev/mapper/testvg-mylv1 8.9G 140M 8.3G 2% /tmp/users 確保文件沒有損壞 # cat fstab # # /etc/fstab # Created by anaconda on Thu Sep 8 18:07:56 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=9a4ecef6-d82c-471d-bed5-4187746129c4 / ext4 defaults 1 1 UUID=34e5f6cf-c318-4048-ae39-cd3b2490de6d /boot ext4 defaults 1 2 UUID=6b42d8fc-e214-48c6-9faf-c0bf08955c96 swap swap defaults 0 0 UUID=d49020d0-abe0-4ff3-b289-8c10b90e8362 /media ext4 defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/testvg/mylv1 /tmp/users ext4 defaults,acl 0 0
16、縮減mylv1至7G,確??s減完成后原有數據完全可用;
# umount /dev/testvg/mylv1 # e2fsck -f /dev/testvg/mylv1 e2fsck 1.41.12 (17-May-2010) 第一步: 檢查inode,塊,和大小 第二步: 檢查目錄結構 第3步: 檢查目錄連接性 Pass 4: Checking reference counts 第5步: 檢查簇概要信息 /dev/testvg/mylv1: 12/589824 files (0.0% non-contiguous), 72672/2359296 blocks # resize2fs /dev/testvg/mylv1 7G resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/testvg/mylv1 to 1835008 (4k) blocks. The filesystem on /dev/testvg/mylv1 is now 1835008 blocks long # lvresize -L 7GB /dev/testvg/mylv1 WARNING: Reducing active logical volume to 7.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce mylv1? [y/n]: y Reducing logical volume mylv1 to 7.00 GiB Logical volume mylv1 successfully resized # mount /dev/testvg/mylv1 /tmp/users/ # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 49G 2.6G 44G 6% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 243M 30M 201M 13% /boot /dev/mapper/testvg-mylv1 6.9G 140M 6.5G 3% /tmp/users 確保文件沒有損壞 # cat fstab # # /etc/fstab # Created by anaconda on Thu Sep 8 18:07:56 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=9a4ecef6-d82c-471d-bed5-4187746129c4 / ext4 defaults 1 1 UUID=34e5f6cf-c318-4048-ae39-cd3b2490de6d /boot ext4 defaults 1 2 UUID=6b42d8fc-e214-48c6-9faf-c0bf08955c96 swap swap defaults 0 0 UUID=d49020d0-abe0-4ff3-b289-8c10b90e8362 /media ext4 defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/testvg/mylv1 /tmp/users ext4 defaults,acl 0 0
17、對mylv1創建快照,并通過備份數據;要求保留原有的屬主屬組等信息;
# lvcreate -L 7G -p r -s -n snap_mylv1 /dev/testvg/mylv1
原創文章,作者:chenzhijie,如若轉載,請注明出處:http://www.www58058.com/55877