1,、描述GPT是什么,,該怎么使用
(轉(zhuǎn)載)GPT是GUID Partition Table,GUID分區(qū)表,。GUID(Globals Unique Identifiers)全局唯一識別,。GPT支持128個(gè)分區(qū),使用64位,,支持8ZB(512Byte/block) 以及64ZB(4096Byte/block)大小的磁盤,。 使用128位UUID表示磁盤和分區(qū),,GPT分區(qū)表自動備份在頭和尾兩份,,并有CRC校驗(yàn)位。具體分為4個(gè)區(qū)域: EFI信息區(qū)(含保護(hù)性MRB區(qū)和GPT頭),、分區(qū)表,、GPT分區(qū)(最大可有128個(gè)分區(qū))、備份分區(qū)表信息 UEFI(統(tǒng)一擴(kuò)展固件接口)硬件支持GPT,,它的開機(jī)過程是:開機(jī)-->UEFI初始化-->引導(dǎo)操作系統(tǒng)-->進(jìn)入系統(tǒng) 相關(guān)的使用命令: 1.gdisk創(chuàng)建GPT分區(qū)(交互式創(chuàng)建)與fdisk相似 -l /dev/sdx 查看分區(qū)信息 以下為交互菜單的信息 (?|m) 顯示交互菜單與幫助 n 建立分區(qū) d 刪除分區(qū) c 更改分區(qū)名字 I 顯示分區(qū)的詳細(xì)信息 p 顯示分區(qū)信息 t 轉(zhuǎn)換分區(qū)類型 a 將指定分區(qū)設(shè)置/取消 活動分區(qū) l 查看分區(qū)類型 o 重建分區(qū)表 v 驗(yàn)證分區(qū)表,,顯示剩余沒有被分區(qū)劃分的扇區(qū)數(shù)量 q 退出不保存,不保存,,所有的修改都不生效 w 退出并保存 2.parted命令(交互式或命令式,,一旦操作即時(shí)生效,使用時(shí)請注意) parted /dev/sdb mklabel gpt 給指定的磁盤指定GPT的分區(qū)方式 parted /dev/sdb mkpart primary 1 200(單位默認(rèn)為M)創(chuàng)建新分區(qū) parted /dev/sdb print 顯示分區(qū)信息 parted /dev/sdb rm 1 刪除分區(qū) parted -l /dev/sdb 查看分區(qū) 3.partprobe同步硬盤上分區(qū)表到內(nèi)存中,。當(dāng)兩者不同步時(shí)使用,。 2、創(chuàng)建一個(gè)10G的分區(qū),,并格式化為ext4文件系統(tǒng)
(1)block大小為2048,,預(yù)留20%,卷標(biāo)為MYDATA (2)掛載至/mydata目錄,,要求掛載時(shí)禁止程序自動運(yùn)行,且不更新文件的訪問時(shí)間戳 (3)可開機(jī)掛載 創(chuàng)建分區(qū):使用fdisk命令指定要分區(qū)的磁盤 查看分區(qū):cat /proc/partitions 創(chuàng)建文件系統(tǒng): 掛載分區(qū),,并指定屬性: 掛載查看是否成功: 設(shè)置開機(jī)自動掛載: 除根文件系統(tǒng)以外的其它文件系統(tǒng),,能夠開機(jī)時(shí)自動掛載需要配置:/etc/fstab mount -a :可自動掛載定義在此文件中的所支持自動掛載的設(shè)備 每行定義一個(gè)要掛載的文件系統(tǒng)相關(guān)屬性,一共有6個(gè)字段分別對應(yīng)的意義: (1)要掛載的設(shè)備: /dev/DEVICE LABEL UUID 偽文件系統(tǒng):如sysfs,,proc,,tmpfs (2)掛載點(diǎn): swap類型的設(shè)備的掛載點(diǎn)為swap (3)文件系統(tǒng)類型: ext4 ext3 ext2 xfs (4)掛載選項(xiàng): defaults:使用默認(rèn)掛載選項(xiàng) 常用選項(xiàng):defaults,acl,,noatime,,noexec (5)轉(zhuǎn)儲頻率: 0:從不備份 1:每天備份 2:每隔一天備份 (6)自檢次序: 0:不自檢 1:首先自檢,通常只能是根文件系統(tǒng)可用1 2:次級自檢 3,、創(chuàng)建一個(gè)大小為1G的swap分區(qū),, 并啟用
首先創(chuàng)建一個(gè)1G的分區(qū),指定磁盤ID號為82 使用mkswap命令,,設(shè)置為swap分區(qū): 查看是否成功: swapon命令:啟動swap分區(qū) swapoff命令:關(guān)閉swap分區(qū) 4,、編寫腳本計(jì)算/etc/passwd 文件中第10個(gè)用戶和第20個(gè)用戶的id之和
第一版:
#!/bin/bash #計(jì)算/etc/passwd文件中第10個(gè)用戶和第二十個(gè)用戶 user10=$( cat /etc/passwd |head -10 |tail -1 |cut -d: -f3 ) echo "user10:$user10" user20=$( cat /etc/passwd |head -20 |tail -1 |cut -d: -f3 ) echo "user20:$user20" echo "sum ID:$(($user10+$user20))" 執(zhí)行腳本測試: 第二版: #awk -F: 'BEGIN{sum=0}{if(NR==10 || NR==20)sum=sum+$3}END{print sum}' /etc/passwd 命令解釋: -F: 指定分隔符為: BEGIN{sum=0}:首先申明變量sum值為0 {if(NR==10 || NR==20)sum=sum+$3}:NR是awk命令的內(nèi)置變量,表示為第10行或者20行時(shí),,把$3的值,,加入到sum當(dāng)中。($3就為/etc/passwd文件的第三字段,,ID號) END{print sum}:最后打印sum的值,,這里的變量不用加$號。 5,、將當(dāng)前主機(jī)名保存至hostName變量中,,主機(jī)名如果為空,或?yàn)閘ocalhost.localdomain則將設(shè)置為 www.magedu.com
hostName=$(hostname) [ -z "$hostName" -o "$hostName"=="localhost.localdomain" ] && hostname www.magedu.com 6,、編寫腳本,,通過命令行 參數(shù)傳入一個(gè)用戶名,判斷id號是偶數(shù)還是奇數(shù),; #!/bin/bash #通過命令行參數(shù)給定一個(gè)用戶名,,判斷其ID是偶數(shù)還是奇數(shù) if [ $# -lt 1 ] ;then echo "please enter one parameter" exit 1 fi num1=$(id -u $1) let ID=$num1%2 if [ $ID -eq 0 ] ;then echo "$1:ID even number" else echo "$1:ID odd number" fi 執(zhí)行腳本測試: 7、lvm基本應(yīng)用以及擴(kuò)展縮減實(shí)現(xiàn)
pv管理工具:
pvs命令:簡要pv信息顯示 pvdisplay命令:顯示pv的詳細(xì)信息 pvcreate命令: pvcreate /dev/device :創(chuàng)建pv pvremove命令:pvremove /dev/device :移除pv pvmove命令:pvmove /dev/device :移動pv vg管理工具: vgs命令,;簡要vg信息顯示 vgdispaly命令:顯示vg的詳細(xì)信息 vgcreate命令:vgcreate vg_name /dev/device :創(chuàng)建vg:先指定vg_name,在指定要?jiǎng)?chuàng)建設(shè)備 -s#:指定pe大小 vgextend命令:vgextend VG_NAME /dev/device :添加/dev/device 到VG_NAME vgreduce命令:vgreduce VG_NAME /dev/device:縮減vg,,需要先做pvmove vgremove命令:vgmove /dev/device lv管理管理工具: lvs命令:簡要lvs信息顯示 lvdispaly命令:顯示lv詳細(xì)信息 lvcreate命令:創(chuàng)建lv:lvcreate -L #[mMgGtT] -n lv_name vg_name lvremove命令:移除lv 列如: 創(chuàng)建:lvcreate -L 3G -n LV_NAME VG_NAME :指定大小為3G,指定lv,,在vg中創(chuàng)建,。 格式化:mke2fs -t ext4 -b 1024 -L HELLO /dev/VG_NAME/LV_NAME 掛載:mount /dev/VG_NAME/LV_NAME /media 擴(kuò)展邏輯卷:(支持在線擴(kuò)展) lvextend命令: lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME 創(chuàng)建:lvextend -L 5G /dev/VG_NAME/LV_NAME :擴(kuò)展為5G 創(chuàng)建:lvextend -L +5G /dev/VG_NAME/LV_NAME :在原來的大小上再加5G resize2fs命令:擴(kuò)展邏輯卷 resize2fs /dev/VG_NAME/LV_NAME 注意:上面的擴(kuò)展方法只適合ext系列,如果是xfs文件系統(tǒng)的話,,需要按如下方法擴(kuò)容: xfs_growfs /dev/VG_NAME/LV_NAME
縮減邏輯卷: 卸載:umount /dev/VG_NAME/LV_NAME 強(qiáng)制檢測:e2fsck -f /dev/VG_NAME/LV_NAME 縮減邏輯邊界:resize2fs /dev/VG_NAME/LV_NAME 5G :縮減至5G 修改物理邊界:lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME 重新掛載:mount /dev/VG_NAME/LV_NAME /test 快照:快照就是某一時(shí)刻立即創(chuàng)建一個(gè)對原卷文件元數(shù)據(jù)的監(jiān)視器,,當(dāng)原卷上文件元數(shù)據(jù)要變化的時(shí)候,,先把原文件復(fù)制一份到快照卷上,而沒有變化的就指向原卷上的文件數(shù)據(jù),。快照的相關(guān)命令: 創(chuàng)建快照:lvcreate -s -L 1G -p r -n LV_NAME_snapshoot /dev/VG_NAME/LV_NAME 練習(xí):
1: 創(chuàng)建一個(gè)至少有兩個(gè)pv組成的大小為20G的名為testvg的VG,要求PE大小為16MB,,而后在卷組中創(chuàng)建大小為5G的邏輯卷testlv,掛載至/users目錄 創(chuàng)建pv:[root@bogon ~]# pvcreate /dev/sdb{1,2} 創(chuàng)建vg:[root@bogon ~]# vgcreate -s 16m testvg /dev/sdb{1,2} -s :指定PE大小 創(chuàng)建lv:[root@bogon ~]# lvcreate -L 5G -n testlv testvg -L:指定大小 -n:指定名字 格式化:[root@bogon ~]# mke2fs -t ext4 /dev/testvg/testlv 掛載:[root@bogon~]# mount /dev/testvg/testlv /users 2:新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,,復(fù)制,、etc/pam.d目錄至自己的家目錄 創(chuàng)建用戶: [root@bogon users]# useradd -d /users/archlinux archlinux 復(fù)制:[archlinux@bogon ~]$ cp -r /etc/pam.d/ ./ 3:擴(kuò)展testlv至7G,要求archlinux用戶的文件不能丟失 擴(kuò)展物理邊界:[root@bogon ~]# lvextend -L 7G /dev/testvg/testlv 擴(kuò)展邏輯邊界:resize2fs /dev/testvf/testlv 注意:resize2fs 至合適etx文件系統(tǒng),,如果是xfs文件系統(tǒng)需要使用 xfs_growfs /dev/VG_NAME/LV_NAME 查看用戶是否丟失資料: 4:收縮testlv至3G,,要求archlinux用戶的文件不能丟失 首先卸載:umount /dev/testvg/testlv 強(qiáng)制文件檢測:e2fsck -f /dev/testvg/testlv 縮減邏輯邊界: resize2fs /dev/testvg/testlv 3G 縮減物理邊界:lvreduce -L 3G /dev/testvg/testlv 重新掛載:mount /dev/testvg/testlv /users/ 查看文件: 5.對testlv創(chuàng)建快照,并嘗試基于快照備份數(shù)據(jù),,驗(yàn)證快照的功能 創(chuàng)建快照:lvcreate -s -p r -L 1G -n testlv_snap /dev/testvg/testlv 掛載,,查看是否成功:
|