《初入linux》--第十五部分-linux分区、分区加密 和 lvm逻辑卷管理

来源:互联网 发布:传奇网络加速器免费版 编辑:程序博客网 时间:2024/05/21 18:40

一.基本分区命令及使用

1.分区命令介绍

1.  fdisk  目录                     对某个目录进行操作

fdisk -l                查看当前可用的分区

[root@mazha1 mnt]# fdisk -lDisk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x00054380   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *        2048      616447      307200   83  Linux/dev/sda2          616448     4810751     2097152   82  Linux swap / Solaris/dev/sda3         4810752    41943039    18566144   83  Linux


2.  格式化命令:mkfs.xxxx           xxxx代表文件系统,可以使用的如:ext3,ext4,xfs,vfat等

swap分区格式化命令:mkswap 目录



3.swapon命令  

swapon  -s               查看当前swap分区情况

[root@mazha1 mnt]# swapon -sFilenameTypeSizeUsedPriority/dev/sda2                              partition20971480-1

swapon  -a               将所有swap信息写入/etc/fstab

swapoff 目录             删除swap分区



4. 查询命令

df         -la                   查看已经挂载分区

[root@mazha1 mnt]# df -laFilesystem     1K-blocks    Used Available Use% Mounted onrootfs                 -       -         -    - /sysfs                  0       0         0    - /sysproc                   0       0         0    - /procdevtmpfs          485736       0    485736   0% /devsecurityfs             0       0         0    - /sys/kernel/securitytmpfs             500168     144    500024   1% /dev/shmdevpts                 0       0         0    - /dev/ptstmpfs             500168    7108    493060   2% /runtmpfs             500168       0    500168   0% /sys/fs/cgroupcgroup                 0       0         0    - /sys/fs/cgroup/systemdpstore                 0       0         0    - /sys/fs/pstorecgroup                 0       0         0    - /sys/fs/cgroup/perf_eventcgroup                 0       0         0    - /sys/fs/cgroup/cpu,cpuacctcgroup                 0       0         0    - /sys/fs/cgroup/memory

blkid                            查看系统可用分区

[root@mazha1 mnt]# blkid/dev/sda1: UUID="f44e7cb5-3c6d-4fdf-b9aa-78c22fb3351e" TYPE="xfs" /dev/sda2: UUID="e515cef0-ad78-4b8b-9596-2580c6bdce4b" TYPE="swap" /dev/sda3: UUID="e424c826-6f81-4aa3-8696-8fed6db77db2" TYPE="xfs" 

2.新建分区

使用fdisk命令:

[root@mazha1 mnt]# fdisk /dev/sdbWelcome 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 tableBuilding a new DOS disklabel with disk identifier 0x797e8029.Command (m for help): n                               //新建分区Partition type:                                            p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p):                                   //分区类型Using default response pPartition number (1-4, default 1):                    //分区编号First sector (2048-10485759, default 2048):           //起始扇区号Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +100M                        //终止扇区号,可以用+xxxM/G表示Partition 1 of type Linux and of size 100 MiB is setCommand (m for help): wq                              //wq保存推出The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.


3.添加swap分区过程

1.划分分区:fdisk    /dev/xxx     具体过程如下:

[root@mazha1 mnt]# fdisk /dev/sdbWelcome 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 tableBuilding a new DOS disklabel with disk identifier 0x797e8029.Command (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): Using default response pPartition number (1-4, default 1): First sector (2048-10485759, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +100MPartition 1 of type Linux and of size 100 MiB is setCommand (m for help): wqThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.

2.fdisk  :  t     改为swap分区(id为:82)

[root@mazha1 mnt]# fdisk /dev/sdbWelcome 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.Command (m for help): tSelected partition 1Hex code (type L to list all codes): 82Changed type of partition 'Linux' to 'Linux swap / Solaris'Command (m for help): wqThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.

3.mkswap 格式化swap

[root@mazha1 mnt]# mkswap /dev/sdb1Setting up swapspace version 1, size = 102396 KiBno label, UUID=4602a72f-19cc-4bb3-a010-3a7fe2f18370


4.swapon 挂在swap

[root@mazha1 mnt]# swapon /dev/sdb1 

5.swapon -a 写入文件

[root@mazha1 mnt]# swapon -a


6.swapon -s 查看结果

[root@mazha1 mnt]# swapon -sFilenameTypeSizeUsedPriority/dev/sda2                              partition20971480-1/dev/sdb1                              partition1023960-2


此时,本来只有一个swap分区,新建一个sdb1  swap分区


4.从已经格式化的文件系统分出swap的方法

1.    dd if /dev/zero of=/mnt/mazha bs=1M count=1000

    此命令划分出一个全空块文件,用于覆盖之前文件

2.    直接格式化 :mkswap /dev/xxx



二.磁盘加密


注:这里介绍的加密是在文件系统之下的加密


1.磁盘加密方法

1.fdisk 划分磁盘

2.cryptsetup luksFormat 加密

3.cryptsetup open 目录 随便命名

(此时生成的虚拟磁盘目录为dev/mapper/)

4.mkfs.xfs /dev/mapper/xxx 此时给他添加文件系统

5.mount 挂载

6.用完umount卸载


7.cryptsetup close 命名 重新加密


2.永久挂载加密磁盘

1.vim /etc/crypttab

  redhat    /dev/vdb1   /root/lukspsfile

 解密后文件     设 备          加密字符

2.编写密码文件

  vim /root/lukspsfile

   密码

3.给读写权限

  chmod 600 /root/lukspsfile

4.设定解密文件

  cryptsetup luksAddKey /设备目录 /解密文件

5.开机自动挂载

  vim /etc/fstab

  /dev/mapper/xxx    /要挂载的目录  文件系统名  defaults 0 0



3.加密清除

原则:该删删,该清清


1.清除fstab中的描述

2.清空 /etc/crypttab

3.删除密钥

4.卸载设备

5.cryptsetup close mazha   关闭加密

6.mkfs  格式化设备





三.磁盘阵列 RAID

    简介
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个磁盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中

1.创建方法方法

1.fdisk  /dev/xxx             创建多块分区

mdadm -C  /dev/md0 -a yes -l 1 -n 2 -x 1/dev/vdb{1..3}               创建raid

mdadm -D  /dev/md0             显示状态 

2.管理RAID

mdadm -f  /dev/md0  /dev/vdb1              破坏其中一块

mdadm -r  /dev/md0  /dev/vdb1              删除其中一块

mdadm -a  /dev/md0  /dev/vdb1             再添加一块

mdadm -S  /dev/md0 停用设备




四.分区配额

一个分区要想使用配额功能,需要一下步骤开启:


1.fdisk           创建分区

2.mkfs.xxx         格式化

mount -o usrquota /dev/xxx1  /pub                 挂载加配额参数

quotaon -uv /dev/xxx1                开启配额功能

edquota -u stadent                设定需配额的用户文件  更改第一个hard为需要限制的大小(单位为k)


测试:dd if=dev/zero of=/pub/file bs=xxxx count=xxx

若超过限制大小,则报错





五.lvm逻辑卷管理


1.lvm建立:

1)fdisk :n    分区

2)fdisk :t  8e    改变文件系统id,使其文件系统为lvm

3)pvcreate /dev/vdbx    创建物理卷

4)vgcreate  随便组名  /dev/vdbx    创建组,组中有vdbx

5)lvcreate  -L100M -n 随便命名  组名

6)mkfs.xfs /dev/组名/命名    格式化

7)挂载 /dev/组名/命名

2.lvm扩展


在物理卷容量还有空余时:

lvextend -L 200M /dev/组名/命名   lv卷扩展

xfs_growfs  /dev/组名/命名   光扩展卷大小是不行的,文件系统也得覆盖扩展空间


在物理卷空间不足时:

pvcreate /dev/vdbz

vgextend 组名 /dev/vdbz

lvextend -l 900M /dev/组名/命名

xfs_growfs /dev/组名/命名


3.lvm缩减

注:缩减只支持ext文件系统等,不支持xfs系统

1)卸载

2)e2fsck -f /dev/组名/命名    查询文件系统文件容量

3)resize2fs /dev/组名/命名  200M    缩减文件系统到200m

4)lvreduce -L 200M /dev/组名/命名    s缩减卷大小到200m

若向让某分区从lvm扩展中删除:

执行1,2,3,4

5)pvmove /dev/vdbz /dev/vdbx     将vdbz中的数据迁移到vdbx

7)vgreduce 组名 /dev/vdbz    从组中删除设备   

6)pvremove /dev/vdbz     删除物理卷


注:若手贱在系统还在使用设备时强行使用 fdisk:d 删除,则系统会出现unknown设备,此时可以使用 vgreduce --removemissing 组名  将无法识别的设备清除
  

4.lvm快照

1.lvcreate -L 100M -n 快照名 -s 设备名

2.删除快照: 

lvremove 快照名




若无意间删除掉bootloader,在重启之前使用grub2-install 硬盘名

可以恢复bootloader

若已经重启且无法进入系统,使用 pxe连接到远端镜像启动救援模式,

使用chroot /mnt/sysimage 挂载/目录

随后使用 grub2-install 硬盘名

可以恢复bootloader




注:以上实验可以配合监控命令:watch -n 1 'echo "=== pvinfo===";pvs;echo "=== vginfo ===";vgs;echo === lvinfo ===;lvs'; df-h /mnt
 


 

0 0
原创粉丝点击