GPT,LVM概念以及shell脚本基础
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,GPT,LVM概念以及shell脚本基础描述GPT是什么,应该怎么使用1.GPT的全称是Globally Unique Identifier Partition Table,意即GUID分区表,GUI
千家信息网最后更新 2024年11月23日GPT,LVM概念以及shell脚本基础
GPT,LVM概念以及shell脚本基础
- 描述GPT是什么,应该怎么使用
1.GPT的全称是Globally Unique Identifier Partition Table,意即GUID分区表,GUID 分区表 (GPT) 是作为 Extensible Firmware Interface (EFI) 计划的一部分引入的。相对于以往 PC 普遍使用的主引导记录 (MBR) 分区方案,GPT 提供了更加灵活的磁盘分区机制。分区指物理或逻辑磁盘上彼此连接的存储空间,但提供功能时就像物理上分隔的磁盘一样。对于系统固件和已安装的操作系统来说,分区是可见的。操作系统启动之前,对分区的访问由系统固件控制,操作系统启动后则由操作系统控制。
2.具有以下优点:
(1)支持2TB以上的大硬盘;
(2)每个磁盘的分区个数几乎没有限制(Windows系统最多只允许划分128个分区);
(3)分区大小几乎没有限制。又是一个"几乎"。因为它用64位的整数表示扇区号,即 = 18,446,744,073,709,551,616;
(4)分区表自带备份。在磁盘的首尾部分分别保存了一份相同的分区表,其中一份被破坏后,可以通过另一份恢复;
(5)循环冗余检验值针对关键数据结构而计算,提高了数据崩溃的检测几率;
(6)虽然MBR提供1字节分区类型代码,但GPT使用一个16字节的全局唯一标识符(GUID)值来标识分区类型,这使分区类型更不容易冲突;
(7)每个分区可以有一个名称(不同于卷标)。
3.要想使用GPT分区表必须是UEFI BIOS环境,UEFI和GPT相辅相成的,二者缺一不可,现在的服务器主板基本采用UEFI+BIOS共存模式,并且BIOS中集成UEFI启动项,如果我们的系统盘大小超过了2T我们需要使用UEFI模式进行系统安装并进行系统启动,在对大于2T的非系统盘进行分区时我们需要选择GPT分区格式。 - 创建一个10G的分区,并格式化为ext4文件系统:
要求:(1)block大小为2048,预留空间20%,卷标为MYDATA,
(2)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
(3)可开机自动挂载。
(1)fdisk创建10G分区[root@localhost ~]# fdisk /dev/sdaWelcome 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): nAll primary partitions are in useAdding logical partition 6First sector (141940736-419430399, default 141940736): Using default value 141940736Last sector, +sectors or +size{K,M,G} (141940736-419430399, default 419430399): +10GPartition 6 of type Linux and of size 10 GiB is setCommand (m for help): wThe 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 atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.
(2)mkfs创建文件系统:
[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/sda6mke2fs 1.42.9 (28-Dec-2013)Filesystem label=MYDATAOS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)Stride=0 blocks, Stripe width=0 blocks655360 inodes, 5242880 blocks1048576 blocks (20.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=273678336320 block groups16384 blocks per group, 16384 fragments per group2048 inodes per groupSuperblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 2048000, 3981312Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done
(3)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。并设置开机自动挂载
[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 -hFilesystem Size Used Avail Use% Mounted on/dev/sda2 47G 5.2G 42G 12% /devtmpfs 523M 0 523M 0% /devtmpfs 538M 0 538M 0% /dev/shmtmpfs 538M 7.8M 530M 2% /runtmpfs 538M 0 538M 0% /sys/fs/cgroup/dev/sda1 497M 151M 346M 31% /boot/dev/sda3 19G 39M 19G 1% /datatmpfs 108M 4.0K 108M 1% /run/user/42tmpfs 108M 32K 108M 1% /run/user/1000/dev/sr0 8.1G 8.1G 0 100% /run/media/wl/CentOS 7 x86_64tmpfs 108M 0 108M 0% /run/user/0/dev/sda6 9.8G 13M 7.8G 1% /mydata
- 创建一个大小为1G的swap分区,并启用:
[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): nAll primary partitions are in useAdding logical partition 7First sector (162914304-419430399, default 162914304): Using default value 162914304Last sector, +sectors or +size{K,M,G} (162914304-419430399, default 419430399): +1GPartition 7 of type Linux and of size 1 GiB is setCommand (m for help): tPartition number (1-7, default 7): 7Hex code (type L to list all codes): 82Changed type of partition 'Linux' to 'Linux swap / Solaris'Command (m for help): wThe 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 atthe 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 KiBno label, UUID=ba42d9ae-41a0-4829-bd14-a32834cf6ec9[root@localhost ~]# swapon /dev/sda7[root@localhost ~]# vim /etc/fstab /dev/sda7 swap swap defaults 0 0
- 编写脚本计算/etc/passwd文件中第10个用户和第20个用户id号之和
#!/bin/bash#判断系统是否存在20个用户id_sum=$( cat /etc/passwd | wc -l )[ ${id_sum} -lt 20 ] && echo "用户个数小于20" && exit 2id1=$(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
- 将当前主机名保存至hostName变量中,主机名如果为空,或者为
localhost.localdomain则将设置为www.magedu.com#!/bin/bashhostName=$(hostname)[ -z "${hostName}" -o "${hostName}" == "localhost.localdomain" -o "${hostName}" == "locahost" ] && hostnamectl set-hostname www.magedu.com || echo "主机名:${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
- 编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数
#!/bin/bash#脚本判断参数用户ID奇偶类型[ $# -lt 1 ] && echo "At least a username " && exit 1! id $1 && echo "No such user" && exit 2userid=$(id -u $1)useri=$[${userid}%2]if [ ${useri} -eq 0 ];thenecho "$1 ID 是偶数"elseecho "$1 ID 是奇数"firoot@localhost scripts]# bash -xv id.sh user3#!/bin/bash#脚本判断参数用户ID奇偶类型[ $# -lt 1 ] && echo "At least a username " && exit 1+ '[' 1 -lt 1 ']'! id $1 && echo "No such user" && exit 2+ id user3uid=1003(user3) gid=1003(user3) groups=1003(user3)userid=$(id -u $1)++ id -u user3+ userid=1003useri=$[${userid}%2]+ useri=1if [ ${useri} -eq 0 ];then echo "$1 ID 是偶数"else echo "$1 ID 是奇数"fi+ '[' 1 -eq 0 ']'+ echo 'user3 ID 是奇数'user3 ID 是奇数
- lvm基本应用以及扩展缩减实现
(1) LVM原理描述
LVM是(Logical Volume Manager) 逻辑卷管理的简写,它是Linux环境下对磁盘分区进行管理的一种机制。LVM是建立在硬盘和分区之上的一个逻辑层,屏蔽了底层磁盘布局,便于动态调整磁盘容量来提高磁盘分区管理的灵活性。它可以将一个或多个底层块设备组织成一个逻辑设备的卷组,管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统,管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配
(2)LVM 基本术语:
(a)物理存储介质(PhysicalStorageMedia): 指系统上最底层的物理存储设备:磁盘,例如:/dev/sda、/dev/sdb等(b)物理卷(Physical Volume, PV): 指磁盘、磁盘分区或RAID设备,使用LVM前需要先将之制作成便于识别的物理卷PV(c)卷组(Volume Group, VG): 卷组由一个或多个物理卷PV组成,在卷组之上可创建一个或多个逻辑卷LV。卷组VG类似于非LVM系统的 物理磁盘(d)逻辑卷(Logical Volume, LV): 建立在卷组VG之上,相当于逻辑分区,可在逻辑卷LV上进行一系列操作(例如:格式化、挂载等)。 逻辑卷LV类似于非LVM系统的磁盘分区(d)物理扩展块(Physical Extent, PE): 当物理卷PV加入某一卷组VG后即被划分为基本单元PE,PE是LVM寻址的最小单元。PE的大小是可配置的,默认为4M。(e)逻辑扩展块(Logical Extent, LE): 卷组VG将PE划分给逻辑卷LV,在逻辑卷LV中的PE称为LE。在同一卷组VG中,PE和LE大小相同,且相互对应。LE也是LVM的最小寻址单位。
(3)LVM基本操作:
(a)pv管理工具:
pvs:简要pv信息显示pvdisplay:显示pv的详细信息pvcreate /dev/DEVICE: 创建pv
(b)vg管理工具:
vgsvgdisplayvgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]先做pvmovevgremove
(c)lv管理工具:
lvslvdisplaylvcreate -L #[mMgGtT] -n NAME VolumeGroupvremove /dev/VG_NAME/LV_NAME
(d)扩展逻辑卷:
# 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
系统
逻辑
磁盘
物理
管理
大小
用户
文件
脚本
奇数
类型
分区表
存储
操作系统
设备
主机
偶数
参数
多个
工具
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
think服务器启动菜单
专科网络技术有用吗
关于网络安全的花边
安卓软件开发工程就业前景
做软件开发的是不是需要保密
松江区工商数据库系统研发协议
王者荣耀体验服务器
我的世界服务器搭建截图
数据库管理员权限管理规范
清理大师软件开发商
俄罗斯网络安全防御技术
数据库中R-S是什么意思
杭州网络技术客服
原神外服哪个服务器人多
dota2如何连接服务器
怎么更新系统服务器
清华同方服务器硬盘灯
三级数据库技术的考试方法
连接服务器慢
php软件开发流程
软件开发推荐戴尔
nba2k 18 数据库
数据库建立故障统计表
如何跟数据库商要下载量数据
国家网络安全宣传周3分钟
软件开发转测试面试
打印服务器电脑是正常电脑吗
计算机网络安全专业如何
黄浦区正规软件开发创新服务
幼儿园网络安全课教案反思