linux 达内笔记五

版权声明: https://blog.csdn.net/qq_28710983/article/details/81433885

磁盘结构及概念  |  使用fdisk分区工具 | 格式化分区  |    开机自动挂载  |   LVM逻辑卷    |

磁盘结构及概念

一个硬盘有255个盘片(磁盘)
盘片            每个盘片有458个磁道
磁道  track     把磁盘分为一圈一圈的,每个磁道划分是63个扇区
扇区  sector    把一圈一圈的磁道,分成扇区  ,一个扇区是512字节
磁头  head      一个磁盘一个读写磁头
柱面  cylinder  硬盘有多个磁盘,两个磁盘最里面的磁道(最里面的一圈),的相距画上虚线,形成一个圆柱体,就叫做柱面,柱面大小大约为8MB


#######################################################################################################################################
一块硬盘的艺术之旅

识别硬盘 => 分区规划 => 格式化 => 挂载使用

MBR/msdos分区模式

- 1~4个主分区,或者0~3个主分区+1个扩展分区(n个逻辑分区)
- 最大支持容量为2.2TB的磁盘
- 扩展分区不能格式化

##############################################################################################################

使用fdisk分区工具

查看分区表

- fdisk -l /dev/sda

修改硬盘分区表

- fdisk /dev/sda
常用交互指令
m 列出指令帮助
p 查看现有的分区表
n 新建分区
d 删除分区
q 放弃更改并退出
w 保存更改并退出


补充命令

    lsblk    #查看本机所有的磁盘信息


    

[root@localhost ~]# fdisk -l

Disk /dev/sda: 322.1 GB, 322122547200 bytes, 629145600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ac327

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200     6293503     2097152   82  Linux swap / Solaris
/dev/sda3         6293504   216008703   104857600   83  Linux

Start   2048    End 2099199           数值表示的是扇区


案例1:硬盘分区及格式化
1.在磁盘/dev/vdb上按以下要求建立分区
  1) 采用默认的msdos分区模式
  2) 第1个分区/dev/vdb1的大小为200MIB
  3) 第2个分区/dev/vdb2的大小为2000MIB
  4) 第4个分区/dev/vdb3的大小为1000MIB

  扇区是从2048开始,因为前面需要存放硬盘分区信息和引导文件

  [root@localhost ~]# fdisk /dev/sdb                          #开始格式化/dev/sdb硬盘
  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.

  Device does not contain a recognized partition table
  Building a new DOS disklabel with disk identifier 0xdcd15570.

  Command (m for help): p                                      #按p查看硬盘分区信息

  Disk /dev/sdb: 322.1 GB, 322122547200 bytes, 629145600 sectors
  Units = sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk label type: dos
  Disk identifier: 0xdcd15570

     Device Boot      Start         End      Blocks   Id  System

  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-629145599, default 2048): 2048
  Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599): +200M    #第一个分区分200M,需要有加号
  
  ###################/dev/sdb2   /dev/sdb3    两个分区都是2000M
  
  Command (m for help): p

  Disk /dev/sdb: 322.1 GB, 322122547200 bytes, 629145600 sectors
  Units = sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk label type: dos
  Disk identifier: 0xdcd15570

     Device Boot      Start         End      Blocks   Id  System
  /dev/sdb1            2048      411647      204800   83  Linux
  /dev/sdb2          411648     4507647     2048000   83  Linux
  /dev/sdb3         4507648     8603647     2048000   83  Linux

  Command (m for help): w                                                     #按w保存文件信息
  The partition table has been altered!

  Calling ioctl() to re-read partition table.
  Syncing disks.
  
  
  #fdisk /dev/sdb
  n 创建新的分区--->p(回车)--->1(回车)--->回车-->+200M
  p 查看分区表
  d 删除分区
  w 保存并退出
  
  #ls /dev/sdb[1-3]


  
  
  
刷新分区表
 使用partprobe命令
 -当硬盘的分区表被更改以后,需要将分区表的变化及时通知linux内核,最好reboot一次
 -否则在访问分区时可能会找不到准确的设备
  

  #partprobe /dev/sdb


  
##############################################################################

2.实现开机自动挂载/dev/vdb2分区
 

1) 文件系统类型为ext4
  2) 将其挂载到/mnt/part2目录

  格式化分区
  常用格式化工具
  mkfs工具集
  - mkfs.ext3 分区设备路径
  - mkfs.ext4 分区设备路径          #linux常用分区
  - mkfs.xfs  分区设备路径            #linux常用分区
  - mkfs.vfat -F 32 分区设备路径    #兼容windows分区格式

[root@localhost /]# mkfs.ext4 /dev/sdb2
[root@localhost /]# mkfs.xfs /dev/sdb3

查看uuid和文件系统

[root@localhost /]# blkid                                                      
/dev/sda1: UUID="4822f06f-42b7-4448-87be-301d61ea53a4" TYPE="xfs" 
/dev/sda2: UUID="97eddddc-c753-4b20-a33d-62ca25b4e6a4" TYPE="swap" 
/dev/sda3: UUID="db1d0122-1729-4c02-9099-6a9e4fd30360" TYPE="xfs" 
/dev/sdb2: UUID="de9c4e7b-e447-4321-8c56-4fde8d2bcdc2" TYPE="ext4" 
/dev/sdb3: UUID="4e2ed410-961d-4743-be33-db4d154fb678" TYPE="xfs" 
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
[root@localhost /]# blkid /dev/sdb2                                      #查看是否格式化成功,有UUID 输出信息表示成功  blkid /dev/sdb1 就没有输出信息
/dev/sdb2: UUID="de9c4e7b-e447-4321-8c56-4fde8d2bcdc2" TYPE="ext4"

挂载使用:

# mkdir /mnt/mypart2
# mkdir /mnt/mypart3
# mount /dev/sdb2 /mnt/mypart2
# mount /dev/sdb3 /mnt/mypart3

# echo 123 > /mnt/mypart2/1.txt

[root@localhost /]# df -h         #查看正在挂载使用的分区信息

[root@localhost /]# du -sh /etc   #统计etc目录的大小

##############################################################################################

思路:
1.lsblk              #磁盘是否识别
2.fdisk              #划分新的分区
3.partprobe          #刷新新的分区
4.mkfs.xfs           #格式化新的分区
5.mount              #挂载

##############################################################################################
开机自动挂载

配置文件/etc/fstab的记录格式
-- 设备路径    挂载点   类型    参数    备份表记    检测顺序

[root@localhost ~]# cat /etc/fstab
UUID=db1d0122-1729-4c02-9099-6a9e4fd30360 /                       xfs     defaults        0 0
UUID=4822f06f-42b7-4448-87be-301d61ea53a4 /boot                   xfs     defaults        0 0
UUID=97eddddc-c753-4b20-a33d-62ca25b4e6a4 swap                    swap    defaults        0 0
[root@localhost ~]# blkid
/dev/sdb2: UUID="de9c4e7b-e447-4321-8c56-4fde8d2bcdc2" TYPE="ext4" 
/dev/sdb3: UUID="4e2ed410-961d-4743-be33-db4d154fb678" TYPE="xfs" 
/dev/sda1: UUID="4822f06f-42b7-4448-87be-301d61ea53a4" TYPE="xfs" 
/dev/sda2: UUID="97eddddc-c753-4b20-a33d-62ca25b4e6a4" TYPE="swap" 
/dev/sda3: UUID="db1d0122-1729-4c02-9099-6a9e4fd30360" TYPE="xfs" 
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 

[root@localhost ~]# blkid /dev/sdb3
/dev/sdb3: UUID="4e2ed410-961d-4743-be33-db4d154fb678" TYPE="xfs"
补充vim命令   按o另起一行插入
################用uuid和设备路径都可以

vim /etc/fstab
UUID=de9c4e7b-e447-4321-8c56-4fde8d2bcdc2 /mnt/mypart2            ext4    defaults        0 0
UUID=4e2ed410-961d-4743-be33-db4d154fb678 /mnt/mypart3            xfs     defaults        0 0

/dev/sdb2 /mnt/mypart2            ext4    defaults        0 0
/dev/sdb3 /mnt/mypart2            ext4    defaults        0 0
[root@localhost ~]# mount -a
检测/etc/fstab开机自动挂载配置文件,格式是否正确
检测/etc/fstab中书写完成,但当前没有挂载的设备,进行挂载


#####################################################################################################


综合分区规划

应用需求
 硬盘/dev/sdb剩余空间的分区调整
 -MBR分区模式,已有三个主分区/dev/sdb[1-3]
 -需要新增三个分区/dev/sdb[5-7]
  分区大小依次为500MIB、2000MIB、512MIB
 -分别用于后续的逻辑卷扩展,新建逻辑卷、交换分区
 
 
# fdisk /dev/sdb
  p 查看分区表
  n 创建新分区
   ---->e ---->起始回车---->结束回车   将所有空间给扩展分区
  p 查看分区表
  n 创建新的分区--->起始回车---->+500M
    ....
  w 保存并退出

[root@localhost ~]# partprobe                          #刷新新的分区表
[root@localhost ~]# ls /dev/sdb[1-7]                   #
##########################################################################################################
综合分区练习

lsblk查看是否加载硬盘成功

[root@localhost ~]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  300G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0  100G  0 part /
sdb      8:16   0  300G  0 disk 
├─sdb1   8:17   0  200M  0 part 
├─sdb2   8:18   0    2G  0 part /mnt/mypart2
├─sdb3   8:19   0    2G  0 part /mnt/mypart3
├─sdb4   8:20   0    1K  0 part 
├─sdb5   8:21   0  500M  0 part 
├─sdb6   8:22   0    2G  0 part 
└─sdb7   8:23   0  512M  0 part 
sdc      8:32   0   60G  0 disk 

划分6个分区
/dev/sdc1   10G
/dev/sdc2   10G
/dev/sdc3   10G
/dev/sdc4   剩余所有空间
/dev/sdc5   8G
/dev/sdc6   10G

[root@localhost ~]# ls /dev/sdc[1-6]


###########################################################################################


LVM逻辑卷


为什么要用逻辑卷?
1.整合分散的空间
2.空间可以扩大或者减小

新建逻辑卷
   lvm工作方式
   .在"分区-->格式化"中间增加的一个逻辑层
   --零散空闲存储----整合的虚拟磁盘-----虚拟的分区
   
   
     物理卷  Physical Volume
     卷组    Volume Group
     逻辑卷  Logical Volume
     
 

LVM管理工具集
功能 物理卷管理 卷组管理  逻辑卷管理
Scan扫描 pvscan vgscan lvscan
Create创建 pvcreate vgcreate lvcreate
Display显示 pvdisplay vgdisplay lvdisplay
Remove 删除 pvremove  vgremove lvremove
Extend 扩展 vgextend lvextend


     
     
     
     
#####################################################################################################
新建一个逻辑卷
使用/dev/sdc构建lvm存储
1)新建一个名为systemvg的卷组
2)在此卷组中创建名为vo的逻辑卷,大小180MIB
3)将逻辑卷vo格式化为ext4文件系统
4)将逻辑卷vo挂载到/vo目录,并在此目录下建立一个测试文件votest.txt,内容为"I AM KING"


  # pvs  和pvscan 
  # vgs  和vgscan 

[root@localhost ~]# pvcreate /dev/sdc[1-2]           #把sdc1和sdc2做成一个物理卷
[root@localhost ~]# pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/sdc1     lvm2 ---  10.00g 10.00g
  /dev/sdc2     lvm2 ---  10.00g 10.00g
[root@localhost ~]# vgcreate systemvg /dev/sdc[1-2]
  Volume group "systemvg" successfully created
  
[root@localhost ~]# pvs
  PV         VG       Fmt  Attr PSize   PFree  
  /dev/sdc1  systemvg lvm2 a--  <10.00g <10.00g
  /dev/sdc2  systemvg lvm2 a--  <10.00g <10.00g
  
[root@localhost ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree 
  systemvg   2   0   0 wz--n- 19.99g 19.99g
####删除pv和vg  
[root@localhost ~]# vgremove systemvg
  Volume group "systemvg" successfully removed

[root@localhost ~]# pvremove /dev/sdc[1-2]
  Labels on physical volume "/dev/sdc1" successfully wiped.
  Labels on physical volume "/dev/sdc2" successfully wiped.

重点

######################同时创建pv和vg
[root@localhost ~]# vgcreate systemvg /dev/sdc[1-2]
  Physical volume "/dev/sdc1" successfully created.
  Physical volume "/dev/sdc2" successfully created.
  Volume group "systemvg" successfully created


  
 


 

猜你喜欢

转载自blog.csdn.net/qq_28710983/article/details/81433885
今日推荐