新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
GPT,LVM概念以及shell腳本基礎(chǔ)-創(chuàng)新互聯(lián)
GPT,LVM概念以及shell腳本基礎(chǔ)
- 描述GPT是什么,應(yīng)該怎么使用
1.GPT的全稱是Globally Unique Identifier Partition Table,意即GUID分區(qū)表,GUID 分區(qū)表 (GPT) 是作為 Extensible Firmware Interface (EFI) 計(jì)劃的一部分引入的。相對(duì)于以往 PC 普遍使用的主引導(dǎo)記錄 (MBR) 分區(qū)方案,GPT 提供了更加靈活的磁盤分區(qū)機(jī)制。分區(qū)指物理或邏輯磁盤上彼此連接的存儲(chǔ)空間,但提供功能時(shí)就像物理上分隔的磁盤一樣。對(duì)于系統(tǒng)固件和已安裝的操作系統(tǒng)來說,分區(qū)是可見的。操作系統(tǒng)啟動(dòng)之前,對(duì)分區(qū)的訪問由系統(tǒng)固件控制,操作系統(tǒng)啟動(dòng)后則由操作系統(tǒng)控制。
2.具有以下優(yōu)點(diǎn):
(1)支持2TB以上的大硬盤;
(2)每個(gè)磁盤的分區(qū)個(gè)數(shù)幾乎沒有限制(Windows系統(tǒng)最多只允許劃分128個(gè)分區(qū));
(3)分區(qū)大小幾乎沒有限制。又是一個(gè)“幾乎”。因?yàn)樗?4位的整數(shù)表示扇區(qū)號(hào),即 = 18,446,744,073,709,551,616;
(4)分區(qū)表自帶備份。在磁盤的首尾部分分別保存了一份相同的分區(qū)表,其中一份被破壞后,可以通過另一份恢復(fù);
(5)循環(huán)冗余檢驗(yàn)值針對(duì)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)而計(jì)算,提高了數(shù)據(jù)崩潰的檢測幾率;
(6)雖然MBR提供1字節(jié)分區(qū)類型代碼,但GPT使用一個(gè)16字節(jié)的全局唯一標(biāo)識(shí)符(GUID)值來標(biāo)識(shí)分區(qū)類型,這使分區(qū)類型更不容易沖突;
(7)每個(gè)分區(qū)可以有一個(gè)名稱(不同于卷標(biāo))。
3.要想使用GPT分區(qū)表必須是UEFI BIOS環(huán)境,UEFI和GPT相輔相成的,二者缺一不可,現(xiàn)在的服務(wù)器主板基本采用UEFI+BIOS共存模式,并且BIOS中集成UEFI啟動(dòng)項(xiàng),如果我們的系統(tǒng)盤大小超過了2T我們需要使用UEFI模式進(jìn)行系統(tǒng)安裝并進(jìn)行系統(tǒng)啟動(dòng),在對(duì)大于2T的非系統(tǒng)盤進(jìn)行分區(qū)時(shí)我們需要選擇GPT分區(qū)格式。 - 創(chuàng)建一個(gè)10G的分區(qū),并格式化為ext4文件系統(tǒng):
要求:(1)block大小為2048,預(yù)留空間20%,卷標(biāo)為MYDATA,
(2)掛載至/mydata目錄,要求掛載時(shí)禁止程序自動(dòng)運(yùn)行,且不更新文件的訪問時(shí)間戳。
(3)可開機(jī)自動(dòng)掛載。
(1)fdisk創(chuàng)建10G分區(qū)[root@localhost ~]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): n All primary partitions are in use Adding logical partition 6 First sector (141940736-419430399, default 141940736): Using default value 141940736 Last sector, +sectors or +size{K,M,G} (141940736-419430399, default 419430399): +10G Partition 6 of type Linux and of size 10 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
(2)mkfs創(chuàng)建文件系統(tǒng):
在祥云等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需定制,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設(shè),祥云網(wǎng)站建設(shè)費(fèi)用合理。[root@localhost ~]# mkfs.ext4 -b 2048 -m 20 -L MYDATA /dev/sda6/ mke2fs 1.42.9 (28-Dec-2013) Could not stat /dev/sda6/ --- Not a directory [root@localhost ~]# mkfs.ext4 -b 2048 -m 20 -L MYDATA /dev/sda6 mke2fs 1.42.9 (28-Dec-2013) Filesystem label=MYDATA OS type: Linux Block size=2048 (log=1) Fragment size=2048 (log=1) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 5242880 blocks 1048576 blocks (20.00%) reserved for the super user First data block=0 Maximum filesystem blocks=273678336 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 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
(3)掛載至/mydata目錄,要求掛載時(shí)禁止程序自動(dòng)運(yùn)行,且不更新文件的訪問時(shí)間戳。并設(shè)置開機(jī)自動(dòng)掛載
[root@localhost ~]# mkdir -p /mydata [root@localhost ~]# vim /etc/fstab /dev/sda6 /mydata ext4 defaults,noatime,noexec 0 0 [root@localhost ~]# mount -a [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 47G 5.2G 42G 12% / devtmpfs 523M 0 523M 0% /dev tmpfs 538M 0 538M 0% /dev/shm tmpfs 538M 7.8M 530M 2% /run tmpfs 538M 0 538M 0% /sys/fs/cgroup /dev/sda1 497M 151M 346M 31% /boot /dev/sda3 19G 39M 19G 1% /data tmpfs 108M 4.0K 108M 1% /run/user/42 tmpfs 108M 32K 108M 1% /run/user/1000 /dev/sr0 8.1G 8.1G 0 100% /run/media/wl/CentOS 7 x86_64 tmpfs 108M 0 108M 0% /run/user/0 /dev/sda6 9.8G 13M 7.8G 1% /mydata
- 創(chuàng)建一個(gè)大小為1G的swap分區(qū),并啟用:
[root@localhost ~]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): n All primary partitions are in use Adding logical partition 7 First sector (162914304-419430399, default 162914304): Using default value 162914304 Last sector, +sectors or +size{K,M,G} (162914304-419430399, default 419430399): +1G Partition 7 of type Linux and of size 1 GiB is set Command (m for help): t Partition number (1-7, default 7): 7 Hex code (type L to list all codes): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris' Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. [root@localhost ~]# mkswap /dev/sda7 Setting up swapspace version 1, size = 1048572 KiB no label, UUID=ba42d9ae-41a0-4829-bd14-a32834cf6ec9 [root@localhost ~]# swapon /dev/sda7 [root@localhost ~]# vim /etc/fstab /dev/sda7 swap swap defaults 0 0
- 編寫腳本計(jì)算/etc/passwd文件中第10個(gè)用戶和第20個(gè)用戶id號(hào)之和
#!/bin/bash #判斷系統(tǒng)是否存在20個(gè)用戶 id_sum=$( cat /etc/passwd | wc -l ) [ ${id_sum} -lt 20 ] && echo "用戶個(gè)數(shù)小于20" && exit 2 id1=$(head -10 /etc/passwd | tail -1 | cut -d: -f3) id2=$(head -20 /etc/passwd | tail -1 | cut -d: -f3) idsum=$[${id1}+${id2}] echo "Ths sum is $idsum" [root@localhost scripts]# bash -x idsum2.sh ++ cat /etc/passwd ++ wc -l + id_sum=58 + '[' 58 -lt 20 ']' ++ head -10 /etc/passwd ++ tail -1 ++ cut -d: -f3 + id1=11 ++ head -20 /etc/passwd ++ tail -1 ++ cut -d: -f3 + id2=997 + idsum=1008 + echo 'Ths sum is 1008' Ths sum is 1008
- 將當(dāng)前主機(jī)名保存至hostName變量中,主機(jī)名如果為空,或者為
localhost.localdomain則將設(shè)置為www.magedu.com#!/bin/bash hostName=$(hostname) [ -z "${hostName}" -o "${hostName}" == "localhost.localdomain" -o "${hostName}" == "locahost" ] && hostnamectl set-hostname www.magedu.com || echo "主機(jī)名:${hostName},不要修改" [root@localhost scripts]# bash -x hostname.sh ++ hostname + hostName=localhost.localdomain + '[' -z localhost.localdomain -o localhost.localdomain == localhost.localdomain -o localhost.localdomain == locahost ']' + hostnamectl set-hostname www.magedu.com
- 編寫腳本,通過命令行參數(shù)傳入一個(gè)用戶名,判斷id號(hào)是偶數(shù)還是奇數(shù)
#!/bin/bash #腳本判斷參數(shù)用戶ID奇偶類型 [ $# -lt 1 ] && echo "At least a username " && exit 1 ! id $1 && echo "No such user" && exit 2 userid=$(id -u $1) useri=$[${userid}%2] if [ ${useri} -eq 0 ];then echo "$1 ID 是偶數(shù)" else echo "$1 ID 是奇數(shù)" fi root@localhost scripts]# bash -xv id.sh user3 #!/bin/bash #腳本判斷參數(shù)用戶ID奇偶類型 [ $# -lt 1 ] && echo "At least a username " && exit 1 + '[' 1 -lt 1 ']' ! id $1 && echo "No such user" && exit 2 + id user3 uid=1003(user3) gid=1003(user3) groups=1003(user3) userid=$(id -u $1) ++ id -u user3 + userid=1003 useri=$[${userid}%2] + useri=1 if [ ${useri} -eq 0 ];then echo "$1 ID 是偶數(shù)" else echo "$1 ID 是奇數(shù)" fi + '[' 1 -eq 0 ']' + echo 'user3 ID 是奇數(shù)' user3 ID 是奇數(shù)
- lvm基本應(yīng)用以及擴(kuò)展縮減實(shí)現(xiàn)
(1) LVM原理描述
LVM是(Logical Volume Manager) 邏輯卷管理的簡寫,它是Linux環(huán)境下對(duì)磁盤分區(qū)進(jìn)行管理的一種機(jī)制。LVM是建立在硬盤和分區(qū)之上的一個(gè)邏輯層,屏蔽了底層磁盤布局,便于動(dòng)態(tài)調(diào)整磁盤容量來提高磁盤分區(qū)管理的靈活性。它可以將一個(gè)或多個(gè)底層塊設(shè)備組織成一個(gè)邏輯設(shè)備的卷組,管理員可以在卷組上隨意創(chuàng)建邏輯卷組(logical volumes),并進(jìn)一步在邏輯卷組上創(chuàng)建文件系統(tǒng),管理員通過LVM可以方便的調(diào)整存儲(chǔ)卷組的大小,并且可以對(duì)磁盤存儲(chǔ)按照組的方式進(jìn)行命名、管理和分配
(2)LVM 基本術(shù)語:
(a)物理存儲(chǔ)介質(zhì)(PhysicalStorageMedia):
指系統(tǒng)上最底層的物理存儲(chǔ)設(shè)備:磁盤,例如:/dev/sda、/dev/sdb等
(b)物理卷(Physical Volume, PV):
指磁盤、磁盤分區(qū)或RAID設(shè)備,使用LVM前需要先將之制作成便于識(shí)別的物理卷PV
(c)卷組(Volume Group, VG):
卷組由一個(gè)或多個(gè)物理卷PV組成,在卷組之上可創(chuàng)建一個(gè)或多個(gè)邏輯卷LV。卷組VG類似于非LVM系統(tǒng)的 物理磁盤
(d)邏輯卷(Logical Volume, LV):
建立在卷組VG之上,相當(dāng)于邏輯分區(qū),可在邏輯卷LV上進(jìn)行一系列操作(例如:格式化、掛載等)。 邏輯卷LV類似于非LVM系統(tǒng)的磁盤分區(qū)
(d)物理擴(kuò)展塊(Physical Extent, PE):
當(dāng)物理卷PV加入某一卷組VG后即被劃分為基本單元PE,PE是LVM尋址的最小單元。PE的大小是可配置的,默認(rèn)為4M。
(e)邏輯擴(kuò)展塊(Logical Extent, LE):
卷組VG將PE劃分給邏輯卷LV,在邏輯卷LV中的PE稱為LE。在同一卷組VG中,PE和LE大小相同,且相互對(duì)應(yīng)。LE也是LVM的最小尋址單位。
(3)LVM基本操作:
(a)pv管理工具:
pvs:簡要pv信息顯示
pvdisplay:顯示pv的詳細(xì)信息
pvcreate /dev/DEVICE: 創(chuàng)建pv
(b)vg管理工具:
vgs
vgdisplay
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
先做pvmove
vgremove
(c)lv管理工具:
lvs
lvdisplay
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
vremove /dev/VG_NAME/LV_NAME
(d)擴(kuò)展邏輯卷:
# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME(e)縮減邏輯卷:
# umount /dev/VG_NAME/LV_NAME# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站欄目:GPT,LVM概念以及shell腳本基礎(chǔ)-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.ef60e0e.cn/article/josde.html