Linux系统中的磁盘管理

一、本地存储设备的识别
 

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

Linux系统中的磁盘管理
cat /proc/partition         ##系统识别的设备

Linux系统中的磁盘管理
blkid                             ##系统可使用的设备

Linux系统中的磁盘管理
df                                 ##系统正在挂载的设备

Linux系统中的磁盘管理

二、设备的挂载和卸载
 

1、设备名称

/dev/xdx        /dev/hd0 /dev/hd1 /dev/sda /dev/sbd
/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 isfound bylsof(8) or fuser(1))

1)解决方法一:
fuser -kvm /mnt
umount  /mnt

2)解决方法二:
lsof   /mnt
lsof: WARNING: can't stat()fuse.gvfsd-fuse file system /run/user/1000/gvfs
    Output   information may  be incomplete.
COMMAND     PID     USER       FD      TYPE      DEVICE  SIZE/OFF  NODE NAME
bash    27446    root    cwd    DIR    8,17    4096        2   /mnt

kill -9 27446
umount   /mnt

三、磁盘分区
 

1、硬盘0此道1扇区的512个字节记录的信息如下

512  =446               +          64              +           2
            ^                              ^                            ^    
  mbr(主引导记录)      mpt(主分区表)       55aa(硬盘的有效性标识)

1)一个主分区占用16个字节记录分区信息

2)一块硬盘上如果用mbr的分区方式最多可以存在4个主分区

2.硬盘分区标表

      64

1)一个分区占用16个字节

2)一块硬盘上最多可以划分4个主分区

3)mbr分区方式  大小不能超过2T

4)p:主分区,真实存在

5)e:扩展分区,相当于容器

6)l:逻辑分区,在扩展分区里建立
3、分区步骤
1)fdisk    -l

Linux系统中的磁盘管理

2)fdisk /dev/vdb

Command (m for help): 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)

Linux系统中的磁盘管理

3.建立主分区

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):                            id用默认
First sector (2048-20971519, default 2048):         分区起始
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M        分区大小
Partition 1 of type Linux and of size 500 MiB is set.

Linux系统中的磁盘管理

注:partprobe 刷新,同步分区

Linux系统中的磁盘管理


四、为设备安装文件系统

ext3        rhel5及之前的版本    最多支持32TB的文件系统和2t文件,实际2tb文件系统 16G文件
ext4        rhel6            1EB        16TB
xfs        rhel7            18EB        9EB    7G/s    4G/s

mkfs.xfs        /dev/vdb2
mount    /dev/vdb2    /mnt  

Linux系统中的磁盘管理

永久挂载
vim    /etc/fstab
设备            挂载点        文件系统    挂载参数    是否备份    是否检测
/dev/vdb1     /mnt               xfs           defaults         0                  0

Linux系统中的磁盘管理

mount    -a    自动挂载


注:如果配置文件出现问题则不能正常开机,进入问题文件,将错误部分注释掉后开机,开机以后再进行更改

 

五、swap分区管理

1、swap分区的建立
划分分区并设定分区标签
mkswap        /dev/vdb5          ##将/dev/vdb5分区设为linux的交换区
swapon    -a    /dev/vdb5        ##启动swap装置
swapon    -s                            ## 查看swap状态是否被**

Linux系统中的磁盘管理

永久**
vim    /etc/fstab
/dev/vdb5    swap        swap        defaults    0        0

Linux系统中的磁盘管理
    
2、分区的删除
vim /etc/fastab

swapoff        /dev/vdb5
swapon    -s

Linux系统中的磁盘管理

六、配额
 

1.配额是针对分区的

注:先挂载设备再修改权限

mount    -o    usrquota    /dev/vdb6    /public
chmod    777    /public
edquota    -u    student      设置student用户的配额

Linux系统中的磁盘管理

Linux系统中的磁盘管理

vim    /etc/fstab
/dev/vdb6    /public        xfs    defaults,usrquota    0    0

Linux系统中的磁盘管理
2.测试:
普通用户下的
dd    if=/dev/zero  of=/public/studentfile  bs=1M count=10

Linux系统中的磁盘管理

七、磁盘加密
 

fdisk /dev/vdb7                                      ##建立第7分区

partprobe                                               ##同部分区

cryptsetup luksFormat    /dev/vdb7         ##加密

cryptsetup open /dev/vdb7 westos         ##解密并赋予新的名字
mkfs.xfs    /dev/mapper/westos              ##格式化
mount /dev/mapper/westos  /mnt            ##挂载到/mnt下
touch /mnt/file{1..10}                               ##建立文件
umount /mnt/                                           ##卸载

Linux系统中的磁盘管理
cryptsetup close westos                         ##关闭解密

再次获取信息时须再次解密

cryptsetup open /dev/vdb7 westos
mount /dev/mapper/westos /mnt

Linux系统中的磁盘管理

加密磁盘开机自动挂载
vim /etc/fstab
/dev/mapper/westos    /mnt    xfs    defaults    0    0

Linux系统中的磁盘管理

vim /etc/crypttab
westos    /dev/vdb7        /root/westoskey

Linux系统中的磁盘管理

vim/root/westoskey
密码:2018westos

Linux系统中的磁盘管理

cryptsetup  luksAddKey   /dev/vdb8   /root/westoskey