1、描述GPT是什么,怎么使用。
GUID磁盘分区表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一64bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。
GPT有以下特性
1、GPT能使用大于2.2T的硬盘,MBR不行。支持最大卷为18 EB(1EB=1048576TB)。
2、GPT可以支持无限个分区。Linux、ubuntu、macos都能支持这种分区格式。MBR最多4个主分区,超过4个再分区只能通过逻辑分区。
3、GPT分区磁盘有备份分区表来提高分区数据结构的完整性。
4、 最常见!未来趋势。如果要把大于2T的硬盘作为系统盘来安装系统的话,就必须如此。而且系统须使用64位系统,否则无法引导
2、创建一个10G的分区,并格式化ext4文件系统。要求:
(1)、block大小位2048,预留空间为20%,卷标为MYDATA;
(2)、挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
(3)、可开机自动挂载。
[root@chiji51 ~]# mke2fs -t ext4 -b 2048 -L MYDATA -m 20 /dev/sdb1
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
[root@chiji51 ~]# mkdir /mydata
[root@chiji51 ~]# mount -o noexec,noatime -L MYDATA /mydata
[root@chiji51 Desktop]# mount -l
/dev/sdb1 on /mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered) [MYDATA]
[root@chiji51 ~]# vim /etc/fstab
LABEL=MYDATA /mydata ext4 defaults,noexec,noatime 0 0
[root@chiji51 Desktop]# mount -l
/dev/sdb1 on /mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered) [MYDATA]
[root@chiji51 Desktop]# mount -a
4 、 编写脚本计算/etc/passwd文件中第10个用户和第20个用户的id之和
[root@chiji51 ~]# vim idsum.sh
[root@chiji51 ~]# cat idsum.sh
#!/bin/bash
id1=$(head -10 /etc/passwd | tail -1 |cut -d : -f 3)
id2=$(head -20 /etc/passwd | tail -1 |cut -d : -f 3)
idsum=$(($id1+$id2))
echo $idsum
[root@chiji51 ~]# sh idsum.sh
81
5、将当前主机名保存至hostName变量中,主机名如果为空,或者为localhost.localdomain则将设置为www.magedu.com.
[root@chiji51 ~]# echo $HOSTNAME
[root@chiji51 ~]# hostName=$HOSTNAME
[root@chiji51 ~]# [ -n $HOSTNAME -o $HOSTNAME="local.localdomain" ] || declare HOSTNAME="www.magedu.com"
[root@chiji51 ~]# echo $HOSTNAME
www.magedu.com
[root@chiji51 ~]#
6、编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。
[root@chiji51 ~]# vim idodd.sh
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Please input one username!"
exit
else
i=`cat /etc/passwd | cut -f1 -d':' | grep -w "$1" -c`
if [ $i -le 0 ]; then
echo "User $1 is not exists"
exit
else
ids=$(id -u $1)
idodd=$(($ids%2))
if [ "$idodd" -eq 0 ]
then
echo "The id of $1 isnot odd! " 判断偶数
else
echo "The id of $1 is odd! " 判断奇数
fi
fi
fi
[root@chiji51 ~]# sh idodd.sh root
The id of root isnot odd!
[root@chiji51 ~]#
7、lvm基本应用和扩展缩减实现
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统。首先我们讨论以下几个LVM术语:
物理存储介质(PhysicalStorageMedia)
指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
物理卷(Physical Volume,PV)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
逻辑卷(Logical Volume,LV)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
物理块(Physical Extent,PE)
每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
逻辑块(Logical Extent,LE)
LVM抽象模型
逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
图所示LVM抽象模型,展示了PV、VG、LV三者之间关系:
和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。
系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。
功能/命令 | 物理卷 | 卷组管理 | 逻辑卷管理
扫描 | pvscan | vgscan | lvscan
建立 | pvcreate | vgcreate | lvcreate
显示 | pvdisplay | vgdisplay | lvdisplay
删除 | pvremove | vgremove | lvremove
扩展 | | vgextend | lvextend
缩减 | | vgreduce | lvreduce