2019-05-26

1.描述GPT是什么,应该怎么使用

GPT(GUID Partition Table)意为GUID分区表,是UEFI 规范的一部分,逐渐取代MBR.

与MBR相比,GPT具有以下优点:
1.可管理2TB以上的硬盘容量
2.分区数量几乎没有限制,不过,目前windows仅支持最大128个分区。
3.自带备份,在磁盘的首尾部分各带一个GPT表头,任何一个受到破坏后都可以通过另一份恢复。
4.循环冗余检验值针对关键数据结构而计算,提高了数据崩溃的检测几率。
5.循环冗余检验值针对关键数据结构而计算,提高了数据崩溃的检测几率。
6.GPT使用一个16字节的全局唯一标识符(GUID)值来标识分区类型。

fdisk工具不支持GPT,所以使用parted工具分区

parted [options] [device [command [options...]...]]
如果没有出现命令,则以交互模式运行。在交互模式下执行命令,一旦按回车键确认,命令就马上执行,对磁盘的更改就立刻生效。
常用选项:

-h,--help 显示此帮助信息
-l , --list 列出所有设备的分区信息
-I , --interactive 在必要是,提示用户
-s, --script 从不提示用户
-v , --version 显示版本

子命令
Minot # 对文件系统进行一个简单的检查
cp [FROM-DEVICE] FROM-MINOR TO-MINOR #将文件系统复制到另一个分区
help [COMMAND] #打印通用求助信息,或关于command信息
mklable 标签类型 #创建新的磁盘标签(分区表)
mkfs MINOR 文件系统类型 #在MINOR创建类型为“文件系统类型”的文件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点 #创建一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点 #创建一个带有文件系统的分区
move MINOR 起始点 终止点 #移动编号为MINOR的分区
name MINOR 名称 #将编号为MINOR的分区命名为“名称”
print [MINOR] #打印分区表,或者分区
quit #退出程序
rescue 起始点 终止点 #挽救临近“起始点”、“终止点”的遗失的分区
resize MINOR 起始点 终止点 #改变位于编号为 MINOR 的分区中文件系统的大小
rm MINOR #删除编号为 MINOR 的分区
select 设备 #选择要编辑的设备
set MINOR 标志 状态 #改变编号为 MINOR 的分区的标志

创建一个10G的分区,并格式化为ext4文件系统

# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-31457279, default 2048): 
  Using default value 2048
 Last sector, +sectors or +size{K,M,G} (2048-31457279, default 31457279):+10G
  Partition 1 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.
  Syncing disks.

cat /proc/partitions
    major minor  #blocks  name

    11        0     940032 sr0
     8        0   20971520 sda
     8        1    1048576 sda1
     8        2   19921920 sda2
     8       16   15728640 sdb
     8       17   10485760 sdb1

(1)block大小为2048;预留空间为2%,卷标为MYDATA

    mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
    blkid /dev/sdb1
        /dev/sdb1: LABEL="MYDATA" UUID="a9712c0e-4c7d-43b7-82f0-693168121d3a" TYPE="ext4"
    tune2fs -l /dev/sdb1
          Block size:               2048

(2)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳

    mount -o noatime,noexec /dev/sdb1 /mydata

(3)可开机自动挂载

   vim /etc/fstab 
  /dev/sdb1 /mydata                      ext4     defaults        0 0

创建一个大小为1G的swap分区,并启用。

   fdisk /dev/sdb
  Command (m for help): n
  Partition type:
     p   primary (0 primary, 0 extended, 4 free)
     e   extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2048-31457279, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-31457279, default 31457279): +1G
  Partition 2 of type Linux and of size 1 GiB is set

 Command (m for help): t
Partition number (1,2, default 2): 2

Hex code (type L to list all codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      

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!
 
 partx -a /dev/sdb
 lsblk 
    sdb               8:16   0   15G  0 disk 
    ├─sdb1            8:17   0   10G  0 part 
    └─sdb2            8:18   0    1G  0 part 
# mkswap /dev/sdb2
    mkswap: /dev/sdb2: warning: wiping old ext4 signature.
    Setting up swapspace version 1, size = 1048572 KiB
    no label, UUID=e1ee4721-fc73-4ebe-85a8-80aa5f6802ec
# swapon /dev/sdb2

计算/etc/passwd文件中的第10个用户和第20个用户的id号之和

 #!/bin/bash  
 id1=$(head -10 /etc/passwd | tail -1 | cut -d: -f3)
 id2=$(head -20 /etc/passwd | tail -1 | cut -d: -f3)
  echo "sum =$[$id1+$id2]"

将当前主机名保存至hostName变量中,主机名如果为空,或者为localhost.localdomain则将设置为www.magedu.com

  hostName=$(hostname)
  [ -z "$hostName" -o "$hostName" == "localhost.localdomain" -o "$hostName"=="localhost" ] && hostname www.magedu.com

编写脚本,通过命令行参数传人一个用户名,判断id号是偶数还是奇数。

 #!/bin/bash

if [ $# -lt 1 ];then
    echo "add one username"
    exit 1
fi
if grep "^$1\>" /etc/passwd &> /dev/null;then
    ID=$(id -u $1)
    if [ $[$ID % 2] eq 0 ];then
            echo "$1\'s ID is even"
  else
            echo "$1\' ID is odd"
    fi
else
    echo "user not exist"
    exit 2
fi

lvm基本应用以及扩展缩减实现

逻辑卷管理(Logical Volume Manager)建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。
优点:
1.灵活的容量
当使用逻辑卷时,文件系统能扩展到多个磁盘上,你能聚合多个磁盘或磁盘分区成单一的逻辑卷.
2.可伸缩的存储池.
你能使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.
3.在线的数据再分配.
你能在线移动数据,数据能在磁盘在线的情况下重新分配.比如,你能在线更换可热插拔的磁盘.
4. 方便的设备命名
逻辑卷能按你觉得方便的方式来起所有名称.
5.磁盘条块化.
你能生成一个逻辑盘,他的数据能被条块化存储在2个或更多的磁盘上.这样能明显提升数据吞吐量.
6.映像卷
逻辑卷提供方便的方法来映像你的数据.
7.卷快照
使用逻辑卷,你能获得设备快照用来一致性备份或测试数据更新效果而不影响真实数据.

  1. 物理卷(PV)
    物理卷就是指磁盘,磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和LVM相关的管理参数。

管理命令:
pvcreate : 创建pv
pvscan:搜索系统中有pv的硬盘
pvdisplay:显示系统上的PV状态
pvs:简要显示pv信息
pvremove:删除物理卷
pvmove:移动pv上的pe至其他pv上

2.卷组(VG)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。能在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

管理命令:
vgcreate:创建VG
vgscan:搜索系统中是否有VG存在
vgdisplay:显示系统上VG状态
vgextend:在VG内添加额外PV
vgreduce:在VG内移除PV
vgchange:配置VG是否启动
vgremove:删除VG

  1. 逻辑卷(LV)
    LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。

管理命令:
lvcreate:创建LV
lvscan:查看系统中的LV
lvdisplay:显示LV的状态
lvextend:在LV内添加容量
lveduce:在LV里面减少容量
lvremove:删除一个LV
lvresize:对LV进行容量大小的调整

扩展逻辑卷:
#lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
#resize2fs /dev/VG_NAME/LV_NAME

缩减逻辑卷
#umount /dev/VG_NAME/LV_NAME
#e2fsck -f /dev/VG_NAME/LV_NAME
#resize2fs /dev/VG_NAME/LV_NAME
#lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
#mount

快照:snapshot

lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

你可能感兴趣的:(2019-05-26)