Linux基础之-磁盘扇区

Linux磁盘及文件系统管理

机械
	 柱面、扇区、磁道
	 5400rpm
	 7200rpm
	 10krpm
	 15krpm
接口类型:
		IDE:并口,133MBps
		SATA:串口,6gbps
		SCSI:并口,640MBps
		SAS:串口,6gbps
		USB:串口,3.0 480MBps
		NetWork:1000M

查看磁盘分区信息。

fdisk -l   ****
lsblk      *****
gdisk -l   ***
partx -s  /dev/sda

创建分区 fdisk分区:

小于2TB存储磁盘, 可选分区工具fdisk
//生产分区建议: 如无特殊需求, 直接使用整个磁盘即可, 无需分区
//学习分区建议:1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)      


=====================================================================
[root@oldboy ~]# fdisk -l
[root@oldboy ~]# fdisk  /dev/sdb
Command (m for help): m                                //输入m列出常用的命令
Command action
   a   toggle a bootable flag   		       //切换分区启动标记
   b   edit bsd disklabel     			       //编辑sdb磁盘标签
   c   toggle the dos compatibility flag  	       //切换dos兼容模式
   d   delete a partition      			       //删除分区
   l   list known partition types  		       //显示分区类型
   m   print this menu      			       //显示帮助菜单
   n   add a new partition  			       //新建分区
   o   create a new empty DOS partition table          //创建新的空白分区表
   p   print the partition table       		       //显示分区表的信息
   q   quit without saving changes  		       //不保存退出
   s   create a new empty Sun disklabel 	       //创建新的Sun磁盘标签
   t   change a partition's system id   	       //修改分区ID,可以通过l查看id
   u   change display/entry units       	       //修改容量单位,磁柱或扇区
   v   verify the partition table       	       //检验分区表
   w   write table to disk and exit     	       //保存退出
   x   extra functionality (experts only)  	       //拓展功能
//创建主分区
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):                     //默认回车
First sector (2048-2097151, default 2048):             //默认扇区回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +50M //分配50MB


//创建扩展分区
Command (m for help): n                                //新建分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e                                  //创建扩展分区
Partition number (2-4, default 2):
First sector (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151):    //默认划分所有空间给扩展分区


//创建逻辑分区
Command (m for help): n                                //新建分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l                                  //创建逻辑分区
Adding logical partition 5
First sector (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M  //分配100MB空间

//查看分区创建
Command (m for help): p
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      104447       51200   83  Linux
/dev/sdb2          104448     2097151      996352    5  Extended
/dev/sdb5          106496      311295      102400   83  Linux

//保存分区
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

//检查磁盘是否是MBR分区方式
[root@oldboy ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos

//安装parted, 刷新内核立即生效,无需重启
[root@oldboy ~]# yum -y install parted
[root@oldboy ~]# partprobe /dev/sdb
gdisk分区:
[root@oldboy ~]# yum install -y gdisk

创建文件系统:

格式化:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统)

	元数据区、数据区
	元数据区:inode
	大小、权限、属主属组、时间戳、数据块指针
	符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;
	设备文件:存储数据指针的空间当中存储的是设备号;
	/dev/sda1


VFS:Virtual File System
	Linux的文件系统:ext2、ext3、ext4、xfs、reiserfs、btrfs
	光盘:ISO9660
	网络文件系统:nfs、cifs
	集群文件系统:gfs2、ocfs2
	内核级分布式文件系统:ceph
	Windows的文件系统:vfat、ntfs
	伪文件系统:proc、sysfs、tmpfs、hugepagefs
	Unix的文件系统:UFS、FFS、JFS
	交换文件系统:SWAP
	用户空间的文件系统:mogilfs、moosefs、glusterfs

文件系统管理工具:
	创建文件系统的工具
	mkfs
	检测及修复文件系统的工具
	fsck
	查看其属性的工具
	dumpe2fs、tune2fs
	调整文件系统的特性
	tune2fs

内核级文件系统的组成部分:
文件系统驱动:由内核提供
文件系统管理工具:由用户空间的应用程序提供

mount命令
	mount [-fnrsvw] [-t vfsytpe] [-o options] device directory
	-r:readonly
	-w:read and write
	-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中,-n用于禁止此特性;
	-t:指明要挂载的设备上的文件系统的类型;多数情况下可以省略,此时mount会通过blkid来判断挂载的设备的文件系统类型;
	-L LABEL:挂载时以卷标的方式指明设备;
	-U UUID:挂载时以UUID的方式指明设备;

        -o options:挂载选项
		sync/async:同步/异步操作;
		atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
		diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
		remount:重新挂载;
		acl:支持使用acl功能;
		mount -o  acl device dir
		tune2fs -o acl device
		ro:只读;
		rw:读写;
		dev/nodev:此设备上是否允许创建设备文件;
		exec/noexec:此设备上的文件是否允许运行;
		auto/noauto:
		user/nouser:是否允许普通用户挂载此文件系统;
		suid/nosuid:是否允许程序文件上的suid和sgid特殊权限是否生效;
		relatime/norelatime:
		defaults:rw,suid,dev,exec,auto,nouser,async,relatime
/etc/fstab文件:
	每行定义一个要挂载的文件系统及相关属性;
	6个字段:
	1)要挂载的设备;
		设备文件;
		LABEL;
		UUID;
		伪文件系统:如sysfs,proc,tmpfs等;
		2)挂载点
		swap类型的设备的挂载点为swap;
		3)文件系统类型;
		4)挂载选项;
		defaults:使用默认挂载选项;
		如果需要同时指明多个挂载选项,彼此间以逗号分隔;
		5)转储频率(备份);
			0:从不备份;
			1:每天备份一次;
			2:每隔一天备份一次;
			6)自检次序:
			0:不自检;
			1:首先自检,通常只能是根文件系统;
			2:次级自检;
使用UUID自动挂载:
[root@oldboy ~]# blkid /dev/sdb1 |awk '{print $2}' >> /etc/fstab 
[root@oldboy ~]# blkid /dev/sdb2 |awk '{print $2}' >> /etc/fstab 
[root@oldboy ~]# blkid /dev/sdb3 |awk '{print $2}' >> /etc/fstab 
[root@oldboy ~]# blkid /dev/sdc1 |awk '{print $2}' >> /etc/fstab 
[root@oldboy ~]# blkid /dev/sdc2 |awk '{print $2}' >> /etc/fstab 
[root@oldboy ~]# cat /etc/fstab
……
UUID="f472fae5-3530-40dc-94ea-9d0fe30394a8" /data1                auto    defaults        0 0
UUID="dfba5cd3-3702-446c-8286-9d83ac0e3e72" /data2                auto    defaults        0 0
UUID="72e7ffd7-30e0-4233-ad71-ab0813fe7b80" /data3                auto    defaults        0 0
UUID="ca0503b3-782b-4f17-b634-6d30e98ff830" /data4                auto    defaults        0 0
UUID="2a1a8216-b725-4e07-85ff-e661cde2b53b" /data5                auto    defaults        0 0
windows server 2008服务器操作系统
我们的移动设备(移动硬盘),有时通过USB接上以后,可以识别硬盘,但是看不到分区,是因为系统没有自动分配分区盘符
1.添加硬盘

2.查看磁盘信息

3.分区

4.创建文件系统(格式化)

Linux文件系统
      mkfs
swap
      mkswap
      swapon/off


5.挂载

6.永久挂载
/etc/fstab
EXT家族支持度最广,但
创建文件系统(格式化)慢!
修复慢
存储容量有限

XFS同样是日志文件系统:
容量大,支持大存储
高性能,创建/修复文件系统快
inode与block都是系统需要用到时,才动态配置产生

基本分区(静态)
服务器:
	7*24
	不能随意重装系统,装系统时,必须提前规划好
	
动态磁盘
LVM
RAID
0    
1
5
6
10
01
50
60
LVM
logical volume manager
实现动态分区
CentOS6/7默认都是lvm分区

案例:基于RAID5的lvm
1.准备物理磁盘(RAID5)
RAID5案例:3+1(热备)
1)准备四块硬盘
[root@oldboy ~]# lsblk | grep sd[d-g]
sdd      8:48   0    5G  0 disk 
sde      8:64   0    5G  0 disk 
sdf      8:80   0    5G  0 disk 
sdg      8:96   0    5G  0 disk 

2)创建RAID5
[root@oldboy ~]# yum install -y mdadm
[root@oldboy ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd[d-g]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
\\相关选项解释
-C       创建RAID
/dev/md0 第一个RAID设备
-l5      RAID5
-n3      RAID成员三块硬盘
-x1      热备磁盘一块硬盘

3)格式化
[root@oldboy ~]# mkfs.xfs /dev/md0

4)挂载
[root@oldboy ~]# mkdir /mnt/raid5
[root@oldboy ~]# mount /dev/md0 /mnt/raid5

2.创建物理卷PV
查看物理卷
	pvs
	pvscan
	pvdisplay
[root@oldboy ~]# pvcreate /dev/md0 

3.创建卷组VG
查看卷组
	vgs
	vgscan
	vgdisplay
[root@oldboy ~]# vgcreate datavg /dev/md0 
  Volume group "datavg" successfully created

4.创建逻辑卷LV
查看逻辑卷
	lvs
	lvscan
	lvdisplay
[root@oldboy ~]# lvcreate -L 2G -n lv1 datavg
  Logical volume "lv1" created.
[root@oldboy ~]# lvcreate -L 2G -n lv2 datavg
  Logical volume "lv2" created.

5.创建文件系统(格式化)
mkfs.ext4 /dev/datavg/lv1
mkfs.xfs /dev/datavg/lv2

lv的写法:
/dev/mapper/datavg-lv1
/dev/datavg/lv1
UUID

6.扩容VG
1)添加硬盘

2)将硬盘创建PV
[root@oldboy ~]# pvcreate /dev/sdf
  Physical volume "/dev/sdf" successfully created.
3)将PV加入VG
[root@oldboy ~]# vgextend datavg /dev/sdf
  Volume group "datavg" successfully extended
  
7.扩容lv
[root@oldboy ~]# lvextend -L +2G /dev/datavg/lv1
[root@oldboy ~]# lvextend -l +50%FREE /dev/datavg/lv2
注意:必须使用下面的方式,更新扩展之后的lv
//xfs扩容
[root@oldboy ~]# xfs_growfs /dev/datavg/lv2
//ext扩容
[root@oldboy ~]# resize2fs /dev/datavg/lv1

8.缩容LV(扩展,慎重)
1)先卸载需要缩容的lv
[root@oldboy ~]# umount /dev/datavg/lv2

2)检测文件系统
//ext检测
[root@oldboy ~]# fsck /dev/datavg/lv1
//xfs检测
[root@oldboy ~]# xfs_repair /dev/datavg/lv2 
注意:必须要先卸载lv

3)定义裁剪容量(ext4)
[root@oldboy ~]# resize2fs /dev/datavg/lv1 1G
注意:如果不成功,根据提示信息输入下面的命令
[root@oldboy ~]# e2fsck -f /dev/datavg/lv1

4)裁剪容量
[root@oldboy ~]# lvreduce -L -1G /dev/datavg/lv1

5)再次检测文件系统
[root@oldboy ~]# fsck /dev/datavg/lv1

6)挂载测试
如果能够挂载,一般说明裁剪成功,文件系统没有损坏

9.删除
删除顺序lv-vg-pv,保证都没使用
lvremove
vgremove
pvremove

打赏
lisi
  • lisi

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注