liunx基础四

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

Linux中磁盘分区分为MBR和GPT。

MBR全称为Master Boot Record,为主引导记录,是传统的分区机制,应用于绝大多数使用的BIOS的PC设备。

MBR分区的特点:

1、MBR支持32位和64位的系统

2、MBR支持分区数量有限

3、MBR只支持不超过2T的硬盘,超过2T的硬盘将只能用2T空间。

GPT(全称为Globally Unique Identifier Partition Table,意即GUID分区表)分区为全局唯一分区表,是一个较新的分区机制,解决了MBR很多缺点

GPT分区的特点:

①、支持超过2T的磁盘(64位寻址)。Fdisk最大只能建立2TB大小的分区

②、每个磁盘的分区个数几乎没有限制(Windows系统最多只允许划分128个分区)。

③、分区大小几乎没有限制。又是一个“几乎”。因为它用64位的整数表示扇区号,即 = 18,446,744,073,709,551,616。

④、分区表自带备份。在磁盘的首尾部分分别保存了一份相同的分区表,其中一份被破坏后,可以通过另一份恢复;

⑤、循环冗余检验值针对关键数据结构而计算,提高了数据崩溃的检测几率;

⑥、向后兼容MBR必须在支持UEFI的硬件上才能使用(Intel提出,用于取代BIOS);

⑦、必须使用64位系统、每个分区可以有一个名称(不同于卷标);

⑧、Mac、Linux、Windows7/8 64bit、windows Server2008 64bits系统都能支持GPT分区格式;

要想使用GPT分区表必须是UEFI BIOS环境,UEFI和GPT相辅相成的,二者缺一不可,现在的服务器主板基本采用UEFI+BIOS共存模式,并且BIOS中集成UEFI启动项,如果我们的系统盘大小超过了2T我们需要使用UEFI模式进行系统安装并进行系统启动,在对大于2T的非系统盘进行分区时我们需要选择GPT分区格式。

2、创建一个10G的分区,并格式化为ext4文件系统。要求:

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


[root@benny~]#fdisk /dev/sdb

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x7ea8eef6

  设备 Boot      Start        End      Blocks  Id  System

命令(输入 m 获取帮助):n

Partition type:

  p  primary (0 primary, 0 extended, 4 free)

  e  extended

Select (default p): p

分区号 (1-4,默认 1):1

起始 扇区 (2048-41943039,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G

分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):w

[root@benny~]#mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=MYDATA

OS type: Linux

块大小=2048 (log=1)

分块大小=2048 (log=1)

Stride=0 blocks, Stripe width=0 blocks

655360 inodes, 5242880 blocks

104857 blocks (2.00%) reserved for the super user

第一个数据块=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: 完成                           

正在写入inode表: 完成                           

Creating journal (32768 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

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


[root@benny~]#mkdir /mydata

[root@benny~]#mount -o noatime,noexec -L MYDATA /mydata

[root@benny~]#df -h

文件系统                容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root  50G  4.0G  47G    8% /

devtmpfs                898M    0  898M    0% /dev

tmpfs                    910M    0  910M    0% /dev/shm

tmpfs                    910M  9.6M  901M    2% /run

tmpfs                    910M    0  910M    0% /sys/fs/cgroup

/dev/sda1              1014M  147M  868M  15% /boot

/dev/mapper/centos-home  28G  33M  28G    1% /home

tmpfs                    182M    0  182M    0% /run/user/0

/dev/sdb1                9.8G  13M  9.6G    1% /mydata

(3)可开机自动挂载。


# /etc/fstab

# Created by anaconda on Tue Jul  2 10:21:47 2019

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/centos-root /                      xfs    defaults        0 0

UUID=10c6e92a-a60c-469c-98c4-1b3e61d13bf0 /boot                  xfs    defaults        0 0

/dev/mapper/centos-home /home                  xfs    defaults        0 0

/dev/mapper/centos-swap swap                    swap    defaults        0 0

UUID=3b77b5a6-a685-4423-8562-cf969c0c449d /mydata      ext4    defaults,noatime,noexec    0 0



[root@benny~]#df

文件系统                  1K-块    已用    可用 已用% 挂载点

/dev/mapper/centos-root 52403200 4095016 48308184    8% /

devtmpfs                  919008      0  919008    0% /dev

tmpfs                    931624      0  931624    0% /dev/shm

tmpfs                    931624    9796  921828    2% /run

tmpfs                    931624      0  931624    0% /sys/fs/cgroup

/dev/sda1                1038336  150224  888112  15% /boot

/dev/mapper/centos-home 28416448  33688 28382760    1% /home

tmpfs                    186328      0  186328    0% /run/user/0

/dev/sdb1              10254840  12308 10024626    1% /mydata

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


[root@benny~]#fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

命令(输入 m 获取帮助):n

Partition type:

  p  primary (1 primary, 0 extended, 3 free)

  e  extended

Select (default p): p

分区号 (2-4,默认 2):

起始 扇区 (20973568-41943039,默认为 20973568):

将使用默认值 20973568

Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+1G

分区 2 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):t   

分区号 (1,2,默认 2):

Hex 代码(输入 L 列出所有代码):82

已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):w



[root@benny~]#mkswap /dev/sdb2

正在设置交换空间版本 1,大小 = 1048572 KiB

无标签,UUID=bdae305a-b381-4c3e-8c6c-72f2186dc844



[root@benny~]#free -m

              total        used        free      shared  buff/cache  available

Mem:          1819        167        1400          9        252        1451

Swap:          3071          0        3071

# 4、编写脚本计算/etc/passwd文件中第10个用户和第20个用户id号之和。

[root@benny~]#vim sum_userid.sh

user10id=$(cat /etc/passwd | head -10 | tail -1 | cut -d: -f3)

echo "/etc/passwd 第10个用户ID是 ${user10id}"

user20id=$(cat /etc/passwd | head -20 | tail -1 | cut -d: -f3)

echo "/etc/passwd 第20个用户ID是 ${user20id}"

echo "/etc/passwd 第10个用户和第20个用户id号之和是 $((${user10id}+${user20id}))" 



/etc/passwd 第10个用户ID是 11

/etc/passwd 第20个用户ID是 1000

/etc/passwd 第10个用户和第20个用户id号之和是 1011

5、将当前主机名保存至hostName变量中,主机名如果为空,或者为1ocalhost.1ocaldomain则将设置为www.magedu.com


[root@benny~]#hostName=$(hostname) && [ $hostName == ' ' -o $hostName == "localhost.localdomain" ] && hostname www.magedu.com

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


[root@benny~]#vim IDJO.sh

#!/bin/bash

#

#********************************************************************

#Author:        benny

#QQ:            759354304

#Date:          2019-08-22

#FileName:    IDJO.sh

#URL:          http://www.benny.com

#Description:      The test script

#Copyright (C):    2019 All rights reserved

#********************************************************************

#!/bin/bash

#

if [ $# != 1 ] ; then

  echo please input one username

      exit 2;

      fi

      userid=$(grep "^$1" /etc/passwd | cut -d: -f3)

      echo "$1 userid is ${userid}"

      if [ $((${userid}/2)) == 0 ] ; then

          echo "$1 ID号为偶数"

          else

              echo "$1 ID号为奇数"

              fi



ntp userid is 38

ntp ID号为偶数

[root@benny~]#bash IDJO.sh root

root userid is 0

root ID号为偶数

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

VM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。

Version: 2

(1)创建lvm

①对磁盘分区


[root@benny~]#fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

命令(输入 m 获取帮助):n

Partition type:

  p  primary (2 primary, 0 extended, 2 free)

  e  extended

Select (default p): p

分区号 (3,4,默认 3):

起始 扇区 (23070720-41943039,默认为 23070720):

将使用默认值 23070720

Last 扇区, +扇区 or +size{K,M,G} (23070720-41943039,默认为 41943039):+20G   

值超出范围。

Last 扇区, +扇区 or +size{K,M,G} (23070720-41943039,默认为 41943039):+5G         

将使用默认值 41943039

分区 3 已设置为 Linux 类型,大小设为 9 GiB

命令(输入 m 获取帮助):T

分区号 (1-3,默认 3):

Hex 代码(输入 L 列出所有代码):8E

已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):W

②创建物理卷


[root@benny~]#pvcreate /dev/sdb3

  Physical volume "/dev/sdb3" successfully created.

[root@benny~]#pvcreate /dev/sdc1

  Physical volume "/dev/sdc1" successfully created.



[root@benny~]#pvdisplay

  --- Physical volume ---

  PV Name              /dev/sda2

  VG Name              centos

  PV Size              <99.00 GiB / not usable 3.00 MiB

  Allocatable          yes

  PE Size              4.00 MiB

  Total PE              25343

  Free PE              5070

  Allocated PE          20273

  PV UUID              1WWhP3-fT8X-E6qQ-fpuq-AeGU-bFB9-RN0tBX

  "/dev/sdc1" is a new physical volume of "8.00 GiB"

  --- NEW Physical volume ---

  PV Name              /dev/sdc1

  VG Name             

  PV Size              8.00 GiB

  Allocatable          NO

  PE Size              0 

  Total PE              0

  Free PE              0

  Allocated PE          0

  PV UUID              ZtbRV2-PmB9-DNdG-WoMn-FEWZ-Pnko-kV9v6o

  "/dev/sdb3" is a new physical volume of "<9.00 GiB"

  --- NEW Physical volume ---

  PV Name              /dev/sdb3

  VG Name             

  PV Size              <9.00 GiB

  Allocatable          NO

  PE Size              0 

  Total PE              0

  Free PE              0

  Allocated PE          0

  PV UUID              jochth-rd5U-Zr3X-D7vc-CuZX-JVs6-klgEg0

③创建组卷


[root@benny~]#vgcreate vg01 /dev/sd{b3,c1}

  Volume group "vg01" successfully created



[root@benny~]#vgdisplay

--- Volume group ---

  VG Name              vg01

  System ID           

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  1

  VG Access            read/write

  VG Status            resizable

  MAX LV                0

  Cur LV                0

  Open LV              0

  Max PV                0

  Cur PV                2

  Act PV                2

  VG Size              16.99 GiB

  PE Size              4.00 MiB

  Total PE              4350

  Alloc PE / Size      0 / 0 

  Free  PE / Size      4350 / 16.99 GiB

  VG UUID              WA9w1a-OTDb-ODK6-Pt4h-ZlVG-Kzi0-p

④创建逻辑卷


[root@benny~]#lvcreate -L 500m vg01

  Logical volume "lvol0" created.

⑤在逻辑卷上创建系统


[root@benny~]#mkfs.ext4 /dev/vg01/lvol0

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=1024 (log=0)

分块大小=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

128016 inodes, 512000 blocks

25600 blocks (5.00%) reserved for the super user

第一个数据块=1

Maximum filesystem blocks=34078720

63 block groups

8192 blocks per group, 8192 fragments per group

2032 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: 完成                           

正在写入inode表: 完成                           

Creating journal (8192 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

⑥挂载逻辑卷


[root@benny~]#mount /dev/vg01/lvol0 /mnt/data/

-----------------------------------------------------------------------------

[root@benny~]#lsblk

NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                        8:0    0  100G  0 disk

├─sda1                      8:1    0    1G  0 part /boot

└─sda2                      8:2    0  99G  0 part

  ├─centos-pool00_tmeta  253:0    0  40M  0 lvm 

  │ └─centos-pool00-tpool 253:2    0 77.1G  0 lvm 

  │  ├─centos-root      253:3    0  50G  0 lvm  /

  │  ├─centos-pool00    253:5    0 77.1G  0 lvm 

  │  └─centos-home      253:6    0 27.1G  0 lvm  /home

  ├─centos-pool00_tdata  253:1    0 77.1G  0 lvm 

  │ └─centos-pool00-tpool 253:2    0 77.1G  0 lvm 

  │  ├─centos-root      253:3    0  50G  0 lvm  /

  │  ├─centos-pool00    253:5    0 77.1G  0 lvm 

  │  └─centos-home      253:6    0 27.1G  0 lvm  /home

  └─centos-swap          253:4    0    2G  0 lvm  [SWAP]

sdb                        8:16  0  20G  0 disk

├─sdb1                      8:17  0  10G  0 part /mydata

├─sdb2                      8:18  0    1G  0 part

└─sdb3                      8:19  0    9G  0 part

  └─vg01-lvol0            253:7    0  500M  0 lvm  /mnt/data

sdc                        8:32  0  20G  0 disk

└─sdc1                      8:33  0    8G  0 part

sr0                        11:0    1  4.3G  0 rom 

(2)扩展和缩减逻辑卷


[root@benny~]#lvextend -L +100M /dev/vg01/lvol0    ##为了解决增加100M空间

  Size of logical volume vg01/lvol0 changed from 500.00 MiB (125 extents) to 600.00 MiB (150 extents).

  Logical volume vg01/lvol0 successfully resized.


resize2fs /dev/vg01/lvol0     #修改文件大小

缩减逻辑卷(实际操作中不建议使用)

①、卸载文件系统

②、检查文件系统完整性

③、resize2fs命令重新设定文件系统大小

④、lvreduce命令缩减文件系统

⑤重新挂载文件系统

(3)快照:snapshot

为现有逻辑卷创建快照

挂载快照

恢复快照

删除快照

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,874评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,102评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,676评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,911评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,937评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,935评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,860评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,660评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,113评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,363评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,506评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,238评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,861评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,486评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,674评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,513评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,426评论 2 352

推荐阅读更多精彩内容