11.6 linux系统中的磁盘管理

今天,我们介绍在linux系统中如何查看系统的存储设备,如何划分自己的设备,磁盘的格式化以及lvm。

1.本地存储设备的识别

fdisk -l                     ##真实存在的设备


cat /proc/partition     ##系统可以识别的设备


blkid                        ##系统可使用的设备


df                           ##系统正在挂载的设备

2.设备的挂载和卸载

1)设备名称

/dev/xdx                    ##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb
/dev/sr0                    ##光驱
/dev/mapper/*         ##虚拟设备

2).设备的挂载

mount     设备       挂载点
mount   /dev/sdb1    /mnt                               ##挂载sdb1到mnt
umount   /mnt|       /dev/sdb1                         ##卸载
mount  -o ro  /dev/sdb1    /mnt                      ##只读挂载
mount                                                              ##查看挂载信息
mount  -o remount,rw /dev/sdb1 | /mnt        ##重新读写挂载

3).解决挂载设备正忙情况

设备忙是挂在的东西正在被占用,必须结束占用才可以卸载。

例如:
umount  /mnt/                 
umount: /mnt:target is busy.                                        ##有程序在使用此设备
        (In some cases useful info about processes that
         the device is found by lsof(8) or fuser(1))
方法1

fuser -vm /mnt                ##查看 /mnt谁在用

fuser -kvm /mnt             ##查看并结束

umount /mnt
方法2
lsof /mnt

kill -9
umount /mnt

3.电脑开机时,磁盘的读取过程

电脑开机的时候,首先会进行磁盘的

post (上电自检),

然后读取磁盘的
0磁道1扇区 ,一共有512字节,这扇区分为三个部分:

1.mbr 主引导记录 446字节                 ##记录系统的引导过程,如果不存在无法启动,需要使用镜像重新安装

2.mpt 主分区表 64字节                       ##记录的是系统的磁盘分区信息,每一个主分区占16字节,所以最多只能有四个主分区
3.55aa 硬盘的有效性标示 2字节     

4.磁盘的分区

1)分区过程

步骤一:fdisk -l,查看磁盘的信息。

[root@server ~]# fdisk -l                             ##列出硬盘信息,vda磁盘已经分完,vdb没有划分
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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: 0x00013f3e

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux           ##boot 加*代表启动项,在这个磁盘里面

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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 /dev/vdb,划分磁盘

[root@server ~]# fdisk /dev/vdb                      ##划分vdb磁盘
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 0x3d304d58.

Command (m for help): m                                 ##m为帮助项目,查看帮助命令
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition                                      ##删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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  
   t   change a partition's system id                 ##修改分区的系统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)  ##p为主分区
   e   extended                                                   ##e为扩展分区
Select (default p):                                             ##默认为p
Using default response p
Partition number (1-4, default 1):                       ##分区号,默认为1
First sector (2048-20971519, default 2048):     ##起始扇区,使用默认
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M
##给他500M的默认分区    
Partition 1 of type Linux and of size 500 MiB is set

Command (m for help): n                                   ##建立第二个分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p):
Using default response p
Partition number (2-4, default 2):
First sector (1026048-20971519, default 1026048):
Using default value 1026048
Last sector, +sectors or +size{K,M,G} (1026048-20971519, default 20971519): +500M
Partition 2 of type Linux and of size 500 MiB is set

Command (m for help): n                                  ##建立第三个主分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p):
Using default response p
Partition number (3,4, default 3):
First sector (2050048-20971519, default 2050048):
Using default value 2050048
Last sector, +sectors or +size{K,M,G} (2050048-20971519, default 20971519): +500M
Partition 3 of type Linux and of size 500 MiB is set

Command (m for help): n                                   ##建立第四个分区,这里应该是扩展分区
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e):                                               ##默认为e,扩展分区
Using default response e
Selected partition 4
First sector (3074048-20971519, default 3074048): ##使用默认值
Using default value 3074048
Last sector, +sectors or +size{K,M,G} (3074048-20971519, default 20971519):
##结束扇形区域,默认使用剩余的全部
Using default value 20971519
Partition 4 of type Extended and of size 8.5 GiB is set

Command (m for help): p                                   ##列出分区信息

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0x3d304d58

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux
/dev/vdb2         1026048     2050047      512000   83  Linux
/dev/vdb3         2050048     3074047      512000   83  Linux
/dev/vdb4         3074048    20971519     8948736    5  Extended
ommand (m for help): wq                                   ##保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

5.给设备铺设文件系统

    不同的文件系统有不同的系统文件格式。格式化在现在大多数人的眼中是将磁盘,硬盘等设备清空。其实,格式化真正的意思是为磁盘重新铺设文件系统,不铺设文件系统的磁盘是无法使用的。但是在铺设文件系统的时候会清除掉以前的内容。

1)文件系统的介绍

一,NTFS (New Technology File System),是 Windows NT 环境的文件系统。新技术文件系统是Windows NT家族(如,Windows 2000、Windows XPWindows VistaWindows 7windows 8.1)等的限制级专用的文件系统(操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统,4096簇环境下)。

二,EXT是延伸文件系统(英语:Extended file system,缩写为 ext或 ext1),也译为扩展文件系统,一种文件系统,于1992年4月发表,是为linux核心所做的第一个文件系统。采用Unix文件系统(UFS)的元数据结构,以克服MINIX文件系统性能不佳的问题。

三,XFS一种高性能的日志文件系统,最早于1993年,由Silicon Graphics为他们的IRIX操作系统而开发,是IRIX 5.3版的默认文件系统。2000年5月,Silicon GraphicsGNU通用公共许可证发布这套系统的源代码,之后被移植到Linux 内核上。XFS 特别擅长处理大文件,同时提供平滑的数据传输

本文重点讲解xfs文件系统的使用

2)磁盘的文件系统的铺设

    在上面进行完磁盘分区后,磁盘还是不能使用的,可以使用blkid命令查看系统可以使用的设备,其中并没有上面的新的分区。

    这是因为,新的分区并没有文件系统,需要铺设文件系统,这里我们使用xfs文件系统。

mkfs.xfs   /dev/vdb1         ##将/dev/vdb1铺设为xfs文件系统

磁盘变成可使用

磁盘可以挂载

6.磁盘的自动挂载

    挂载后的磁盘,每次重启以后都会自动卸载。这样有时会显的特别麻烦。如何开机以后让磁盘自动挂载。使用fstab     ##开机启动的项目

man 5 fstab 查看fstab的帮助

编辑fstab:vim /etc/fstab

编写

/dev/vdb1         /mnt                xfs                   defaults                             0                     0
设备名称    挂载的地方      文件系统          挂载参数参数为默认      不备份         不检查

保存退出

reboot重启后,查看挂载情况

7.swap分区管理

swap分区,是用来保存内存中的内容,一般为内存的两倍

1)swap分区的建立

步骤一:在磁盘中建立一个分区

步骤二:设定分区标签为82

====================================================================================

这里先做一些说明,当磁盘划分,修改完成后,保存退出时,会出现的警告

这是因为vdb的这个磁盘已经挂载上,此时新划分的磁盘是不会被识别的。

使用命令

partprobe

就可以识别。

步骤三:swap分区的挂载和状态的查看

mkswap /dev/vdb5         ##建立文件系统,文件系统为swap格式的

swapon -a /dev/vdb5
swapon -s

步骤四:swap分区的自动挂载

编辑文件:vim /etc/fstab

/dev/vdb5      swap                 swap                  defaults                       0                   0

设备名称    挂载的地方      文件系统          挂载参数参数为默认      不备份         不检查

2)swap分区的卸载和删除

7.配额

对于一个磁盘来说,root用户可以指定每个用户使用多大的空间,叫做配额。下面我来介绍以下配额

1)挂载目录的权限

步骤一:首先我们新建一个一个目录,用来放置挂载设备,修改权限为777。

步骤二:挂载一个设备到这个目录上,再看目录的权限

结果,目录的权限变为755。实验结果表明,挂载目录的权限为挂载设备的权限

2)配额

步骤一:新建分区,格式化

步骤二:以设定用户上传上限的方式挂载

mount  -o  usrquota  /dev/vdb7   /public

步骤三:设置挂载目录权限为777,使得普通用户可以上传

chmod 777 /publicbs

步骤四:设置用户上传上限,和开机自动挂载上传上限

edquota -u student

Disk quotas for user student (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vdb7                         0          0          20000          0        0        0

                                                              修改这一项                         

测试:

切换到普通用户su -  student

dd if=/dev/zero  of=/public/studentfile  bs=1M  count=50

8.磁盘加密

对磁盘进行加密,加密的锁在磁盘和文件系统之间,如果强行破坏锁,就会破坏文件系统,使得磁盘中的东西无法读取。

磁盘加密的方法:

步骤一:新建分区

步骤二:加密格式化,并设定密码

cryptsetup luksFormat /dev/vdb

步骤三:加密打开,设定打开的名字

cryptsetup open /dev/vdb8 westos

步骤四:查看加密后设备

ll /dev/mapper/westos

步骤五:铺设文件系统

mkfs.xfs /dev/mapper/westos

步骤六:设备的挂载,文件建立,设备的卸载

步骤七:加密关闭,外界无法使用磁盘

cryptsetup close westos

猜你喜欢

转载自blog.csdn.net/qq_41627390/article/details/83865159
今日推荐