• 关于linux下的系统存储管理


    https://blog.csdn.net/aaaaaab_/article/details/80159871

    //查看当前系统磁盘使用空间

    df -h

    //查看当前目录文件占用空间大小

    du -sh *

    原文地址 : https://blog.csdn.net/qq_31648761/article/details/79526322

    1、存储的基础知识

    知识点: 基本分区、逻辑卷LVM、EXT3/4文件系统、磁盘限额、RAID

    △磁头(Heads):每张磁片的正反两面各有一个磁头,一个磁头对应一张磁片的一个面。因此,用第几磁 头就可以表示数据在哪个磁面。

    △柱面(Cylinder):所有磁片中半径相同的同心磁道构成“柱面",意思是这一系列的磁道垂直叠在一起,就形成一个柱面的形状。简单地理解,柱面数=磁道数。

    △扇区(Sector):将磁道划分为若干个小的区段,就是扇区。虽然很小,但实际是一个扇子的形状,故称为扇区。每个扇区的容量为512字节

    CHS(以sector方式存储)的问题:每个sector 512byte,它前边还需要有8byte存储该sector的信息,所以它的浪费就是8/512,当磁盘的总容量很大时,这个浪费就可想而知了;且内存中每个page frame为4k,它与磁盘交互时,每个memory page frame需要处理8次都可以存储到磁盘上。所以后续使用block为存储单位,即4K (LBA)。

    一、两种分区方式(针对分区表)

    存储大小 分区软件 分区表

    2TB以下的硬盘 fdisk/parted MSDOS(MBR) /GPT

    2TB以上的硬盘 parted GPT

    MSDOS(MBR)分区的限制:

    只支持4个主分区,总分区数不能超过15个

    只支持2TB以下的硬盘

    GPT的限制:

    没有限制

    注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!

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

    小知识: kernel对不同接口的硬盘命名

    OS IDE(并口) SATA(串口) SCSI USB

    RHEL5 /dev/hda /dev/sda /dev/sda /dev/sda

    RHEL6 /dev/sda /dev/sda /dev/sda /dev/sda

    HP服务器

    /dev/cciss/c0d0

    /dev/cciss/c0d0p1 //c0第一个控制器, d0第一块磁盘, p1分区1

    /dev/cciss/c0d0p2 //c0第一个控制器, d0第一块磁盘, p2分区2

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

    2、基本分区管理

    存储管理

    分区(基本分区)、格式化、挂载

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

    内容摘要:

    分区工具fdisk msdos

    分区工具parted msdos 或 GPT

    一、分区工具fdisk MBR(msdos)

    1. 查看新设备是否发现

    # ll /dev/sd* //查看Kernel识别到的设备

    # fdisk -cul //u以扇区的方式查看

    2. 分区

    # fdisk -cu /dev/sdb //分区

    Command (m for help): m

    Command action

    d delete a partition

    m print this menu

    n add a new partition

    p print the partition table

    q quit without saving changes

    t change a partition's system id

    w write table to disk and exit

    # ll /dev/sd*

    # partx -a /dev/sdb //让内核刷新分区表

    # ll /dev/sd*

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

    Windwos: FAT,FAT32,NTFS

    Linux: VFAT,Ext2,Ext3,Ext4,GFS,GFS2

    [root@yangs ~]# mkfs.ext4 /dev/sdb1 //100M的分区

    mke2fs 1.39 (29-May-2006)

    Filesystem label=

    OS type: Linux

    Block size=1024 (log=0) //块大小1024B (1K)

    Fragment size=1024 (log=0)

    25688 inodes, 102400 blocks

    9765 blocks (5.00%) reserved for the super user

    [root@yangs ~]# mkfs.ext4 /dev/sdb2 //1G的分区

    mke2fs 1.39 (29-May-2006)

    Filesystem label=

    OS type: Linux

    Block size=4096 (log=2) //块大小4096B (4K)

    Fragment size=4096 (log=2)

    65536 inodes, 262144 blocks

    12207 blocks (5.00%) reserved for the super user

    4. 挂载

    建立挂载点

    # mkdir /mnt/disk1 //建立挂载点,挂载点建议是空目录

    # mkdir /mnt/disk2

    挂载

    ==手动: 临时

    [root@yangs ~]# mount -o ro -t ext4 /dev/sdb1 /mnt/disk1

    [root@yangs ~]# mount /dev/sdb2 /mnt/disk2

    [root@yangs ~]# mount

    /dev/sdb1 on /mnt/disk1 type ext4 (ro)

    /dev/sdb2 on /mnt/disk2 type ext4 (rw)

    [root@yangs ~]# df -h

    文件系统 容量 已用 可用 已用% 挂载点

    /dev/sdb1 97M 5.6M 87M 7% /mnt/disk1

    /dev/sdb2 1008M 34M 924M 4% /mnt/disk2

    ==开机自动挂载 /etc/fstab

    [root@yangs ~]# umount /dev/sdb1

    [root@yangs ~]# blkid 

    /dev/sdb1: UUID="653a949d-ebf5-4543-9f67-4b71cbe5cf2b" TYPE="ext4" 

    /dev/sdb2: UUID="7ca49b1d-5359-413f-83aa-ed51c7421877" TYPE="ext4" 

    [root@yangs ~]# vim /etc/fstab

    UUID="653a949d-ebf5-4543-9f67-4b71cbe5cf2b" /mnt/disk1 ext4 defaults 0 0

    UUID="7ca49b1d-5359-413f-83aa-ed51c7421877" /mnt/disk2 ext4 defaults 0 0

    [root@yangs ~]# mount -a //读取/etc/fstab并挂载

    二、分区工具parted msdos 或 GPT

    命令行

    parted bigfile mklabel gpt

    parted bigfile mkpart primary 1 1TB

    parted bigfile mkpart primary 1TB 2TB

    parted bigfile print

    交互式

    [root@yangs ~]# parted /dev/sdc

    GNU Parted 2.1

    Using /dev/sdc

    Welcome to GNU Parted! Type 'help' to view a list of commands.

    (parted) help

    (parted) mklabel gpt 

    (parted) print 

    (parted) mkpart primary 1M 1T 

    (parted) mkpart primary 1T 3T 

    (parted) mkpart primary 3T 3.1T

    (parted) print

    (parted) mkpart primary 3100GB 5T

    (parted) mkpart primary 5000GB 6T 

    (parted) mkpart primary 6T 7T 

    (parted) print 

    Partition Table: gpt

    Number Start End Size File system Name Flags

    1 17.4kB 1000GB 1000GB primary

    2 1000GB 3000GB 2000GB primary

    3 3000GB 3100GB 100GB primary

    4 3100GB 5000GB 1900GB primary

    5 5000GB 6000GB 1000GB primary

    6 6000GB 7000GB 1000GB primary

    (parted) rm 6 

    (parted) print 

    (parted) quit

    Information: You may need to update /etc/fstab.

    kpartx -a bigfile (删除时使用kpartx -d bigfile,注如何创建的就需要如何删除)

    /dev/mapper/loop0

    /dev/mapper/loop0{p1,p2}

    mkfs.ext4 /dev/mapper/loop0p2

    mount /dev/mapper/loopop2 /opt

    [root@yangs ~]# partx -a /dev/sdc

    [root@yangs ~]# ll /dev/sdc*

    brw-rw---- 1 root disk 8, 32 Jan 9 16:07 /dev/sdc

    brw-rw---- 1 root disk 8, 33 Jan 9 16:06 /dev/sdc1

    brw-rw---- 1 root disk 8, 34 Jan 9 16:06 /dev/sdc2

    brw-rw---- 1 root disk 8, 35 Jan 9 16:06 /dev/sdc3

    brw-rw---- 1 root disk 8, 36 Jan 9 16:06 /dev/sdc4

    brw-rw---- 1 root disk 8, 37 Jan 9 16:06 /dev/sdc5

    3、逻辑卷管理LVM

    逻辑卷LVM

    1. 在线(on-line)扩容,离线(off-line)缩小

    2. 快照snapshot

    参考文档:

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

    创建 扫描 显示详细 显示 扩展 缩小 删除 更改 ...

    pvcreate pvscan pvdisplay pvs pvremove

    vgcreate vgscan vgdisplay vgs vgextend vgreduce vgremove vgchange

    lvcreate lvscan lvdisplay lvs lvextend lvreduce lvremove lvchange

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

    一、创建逻辑卷

    1. 创建物理卷PV(整个硬盘,不需要分区)

    [root@yangs ~]# pvcreate /dev/sdc

    2. 创建卷组VG

    [root@yangs ~]# vgcreate vg02 /dev/sdc

    3. 创建逻辑卷LV

    [root@yangs ~]# lvcreate -L 400M -n lv02 vg02

    [root@yangs ~]# lvcreate -l 200 -n lv03 vg02

    [root@yangs ~]# lvscan 

    ACTIVE '/dev/vg02/lv02' [400.00 MB] inherit

    4. 创建文件系统并挂载

    [root@yangs ~]# mkfs.ext4 /dev/vg02/lv02 

    [root@yangs ~]# vim /etc/fstab 

    /dev/vg02/lv02 /mnt/lv02 ext4 defaults 0 0

    [root@yangs ~]# mkdir /mnt/lv02

    [root@yangs ~]# mount -a

    [root@yangs ~]# df

    文件系统 1K-块 已用 可用 已用% 挂载点

    /dev/mapper/vg02-lv02

    396672 10544 365648 3% /mnt/lv02

    二、扩展逻辑卷

    第一种情况:lv所在的卷组还有足够用于扩展的空间

    [root@yangs ~]# lvs

    LV VG Attr LSize Origin Snap% Move Log Copy% Convert 

    lv02 vg02 -wi-ao 400.00M 

    lv03 vg02 -wi-ao 800.00M 

    [root@yangs ~]# vgs

    VG #PV #LV #SN Attr VSize VFree 

    vg02 1 2 0 wz--n- 100.00G 98.82G

    [root@yangs ~]# lvextend -L 1G /dev/vg02/lv02 //扩展逻辑卷

    [root@yangs ~]# lvscan 

    ACTIVE '/dev/vg02/lv02' [1.00 GB] inherit

    ACTIVE '/dev/vg02/lv03' [800.00 MB] inherit

    [root@yangs ~]# resize2fs /dev/vg02/lv02 //扩文件系统

    [root@yangs ~]# df -h

    第二种情况:lv所在的卷组没有足够的空间

    [root@yangs ~]# vgs

    VG #PV #LV #SN Attr VSize VFree 

    vg01 1 4 0 wz--n- 9.97G 0 

    vg02 1 2 0 wz--n- 100.00G 98.21G

    [root@yangs ~]# pvcreate /dev/sdd //建立PV

    [root@yangs ~]# vgextend vg02 /dev/sdd //扩展卷组

    [root@yangs ~]# lvextend -L 100T /dev/vg02/lv02 //扩展逻辑卷

    [root@yangs ~]# resize2fs /dev/vg02/lv02 //扩文件系统

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

    扩展知识:

    PV也可以是一个分区:

    [root@yangs ~]# fdisk -cul /dev/sdd

    [root@yangs ~]# partx -a /dev/sdd

    [root@yangs ~]# pvcreate /dev/sdd7

    [root@yangs ~]# vgextend vg02 /dev/sdd7 

    [root@yangs ~]# vgs

    VG #PV #LV #SN Attr VSize VFree 

    vg01 1 4 0 wz--n- 9.97G 0 

    vg02 2 2 0 wz--n- 101.82G 100.04G

    PE:创建VG时,指定PE的size(默认为4M)

    [root@yangs ~]# pvcreate /dev/sdc

    [root@yangs ~]# vgcreate -s 128M datastorage /dev/sdc

    [root@yangs ~]# vgdisplay datastorage

    PE Size 128.00 MB

    Total PE 799

    Alloc PE / Size 0 / 0 

    Free PE / Size 799 / 99.88 GB

    [root@yangs ~]# lvcreate -l 799 -n database datastorage

    [root@yangs ~]# mkfs.ext4 /dev/datastorage/database

    [root@yangs ~]# mkdir /mnt/lv

    [root@yangs ~]# vim /etc/fstab

    /dev/datastorage/database /mnt/lv ext3 defaults 0 0

    [root@yangs ~]# mount -a

    [root@yangs ~]# df

    删除LV,VG:

    1. 停止应用程序对该相应文件系统的访问

    2. 卸载文件系统,包括/etc/fstab

    3. lvremove

    4. vgremove

    5. pvremove

    激活VG/LV:

    [root@yangs ~]# lvchange -an /dev/vg01/lv01

    [root@yangs ~]# lvscan 

    inactive '/dev/vg01/lv01' [128.00 MiB] inherit

    ACTIVE '/dev/vg01/lv02' [128.00 MiB] inherit

    ACTIVE '/dev/vg01/lv03' [128.00 MiB] inherit

    [root@yangs ~]# vgchange -an vg01

    0 logical volume(s) in volume group "vg01" now active

    [root@yangs ~]# lvscan 

    inactive '/dev/vg01/lv01' [128.00 MiB] inherit

    inactive '/dev/vg01/lv02' [128.00 MiB] inherit

    inactive '/dev/vg01/lv03' [128.00 MiB] inherit

    [root@yangs ~]# vgchange -ay vg01

    [root@yangs ~]# lvscan 

    ACTIVE '/dev/vg01/lv01' [128.00 MiB] inherit

    ACTIVE '/dev/vg01/lv02' [128.00 MiB] inherit

    ACTIVE '/dev/vg01/lv03' [128.00 MiB] inherit

    缩小逻辑卷: off-line

    1. 停止应用

    2. 备份数据

    3. 卸载文件系统

    4. 检查文件系统e2fsck

    5. 缩小文件系统

    6. 缩小逻辑卷

    [root@yangs ~]# umount /mnt/lv04/

    [root@yangs ~]# e2fsck -f /dev/vg01/lv04

    [root@yangs ~]# resize2fs /dev/vg01/lv04 1000M

    [root@yangs ~]# lvreduce /dev/vg01/lv04 -L 1000M

    [root@yangs ~]# mount -a

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

    三、逻辑卷快照snapshot

    逻辑卷做完快照后,对原卷的任何操作都不影响快照卷

    作用:

    1. 利用快照实现一致性备份

    实现快照

    [root@yangs ~]# lvscan 

    ACTIVE '/dev/vg01/lv06' [20.00 GiB] inherit

    [root@yangs ~]# lvs

    LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert 

    lv06 vg01 -wi-ao--- 20.00g 

    [root@yangs ~]# df -ThP /mnt/lv06

    Filesystem Type Size Used Avail Use% Mounted on

    /dev/mapper/vg01-lv06 ext4 20G 287M 19G 2% /mnt/lv06

    [root@yangs ~]# lvcreate -L 50M -s -n lv06-snap/dev/vg01/lv06

    [root@yangs ~]# lvs

    LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert 

    lv06 vg01 owi-aos-- 20.00g 

    lv06-snap vg01 swi-a-s-- 52.00m lv06 0.02 

    [root@yangs ~]# mkdir /mnt/lv06-snap

    [root@yangs ~]# mount /dev/vg01/lv06-snap /mnt/lv06-snap

    [root@yangs ~]# ls /mnt/lv06

    etc1 etc2 etc3 lost+found

    [root@sxl1 ~]# ls /mnt/lv06-snap/

    etc1 etc2 etc3 lost+found

    [root@yangs ~]# rm -rf /mnt/lv06/etc1

    [root@sxl1 ~]# ls /mnt/lv06

    etc2 etc3 lost+found

    [root@sxl1 ~]# ls /mnt/lv06-snap/

    etc1 etc2 etc3 lost+found

    快照的自动增长:

    [root@yangs ~]# vim /etc/lvm/lvm.conf

    snapshot_autoextend_threshold = 70

    snapshot_autoextend_percent = 50

    [root@yangs ~]# /etc/init.d/lvm2-monitor start

    [root@yangs ~]# chkconfig lvm2-monitor on

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

    扩展:

    PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。

    LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

    卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。

    4、交换分区swap

    增加交换分区

    作用: ‘提升‘ 内存的容量

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

    一、查看现有的交换分区

    [root@yangs ~]# free -m

    total used free shared buffers cached

    Mem: 1010 874 135 0 51 560

    -/+ buffers/cache: 262 747

    Swap: 1023 0 1023

    [root@yangs ~]# swapon -s

    Filename Type Size Used Priority

    /dev/mapper/vg01-lv_swap partition 1048568 0 -1

    二、增加交换分区

    方法一: 使用分区或逻辑卷创建

    1. 建立分区或LVM

    [root@yangs ~]# fdisk -cu /dev/sda

    [root@yangs ~]# partx -a /dev/sda

    [root@yangs ~]# fdisk -cul /dev/sda

    /dev/sda7 27423862 28423862 500000+ 82 Linux swap / Solaris

    2. 初始化交换分区

    [root@yangs ~]# mkswap /dev/sda7 

    3. 激活

    [root@yangs ~]# vim /etc/fstab 

    /dev/sda7 swap swap defaults 0 0

    [root@yangs ~]# swapon -a //激活所有的交换分区

    [root@yangs ~]# swapon -s

    Filename Type Size Used Priority

    /dev/mapper/vg01-lv_swap partition 1048568 0 -1

    /dev/sda7 partition 499992 0 -2

    方法二:使用文件创建

    [root@yangs ~]# dd if=/dev/zero of=/swap1.img bs=1M count=512

    [root@yangs ~]# mkswap /swap1.img 

    Setting up swapspace version 1, size = 536866 kB

    [root@yangs ~]# vim /etc/fstab 

    /swap1.img swap swap defaults 0 0

    [root@yangs ~]# swapon -a

    [root@yangs ~]# swapon -s

    Filename Type Size Used Priority

    /dev/mapper/vg01-lv_swap partition 1048568 0 -1

    /dev/sda7 partition 499992 0 -2

    /swap1.img file 524280 0 -3

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

    打开两个终端进行挂载实验:A:
    [root@foundation21 ~]# df       查看系统正在使用的设备/dev/sdb1       15100688  8722224   6378464  58% /run/media/kiosk/Ѧ     会出来U盘标识[root@foundation21 ~]# umount /dev/sdb1        卸载[root@foundation21 ~]# mount /dev/sdb1 /mnt/   挂载到/mnt/下,打开/mnt会看到U盘文件[root@foundation21 ~]# cd /mnt/       占用后台,然后用另外一个shell来结束进程[root@foundation21 mnt]# fdisk -l     查看分区信息   Device Boot      Start         End      Blocks   Id  System/dev/sdb1   *          63    30217823    15108880+   c  W95 FAT32 (LBA)   U盘12345678
    B:
    [root@foundation21 ~]# umount /mnt/    在挂载目录中没办法直接卸载umount: /mnt: target is busy.        (In some cases useful info about processes that use         the device is found by lsof(8) or fuser(1))  两种查看方式[root@foundation21 ~]# fuser -vm /dev/sdb1   查看占用后台的PID                     USER        PID ACCESS COMMAND/dev/sdb1:           root     kernel mount /mnt                     root      14537 ..c.. bash[root@foundation21 ~]# fuser -kvm /dev/sdb1   杀死后台                     USER        PID ACCESS COMMAND/dev/sdb1:           root     kernel mount /mnt                     root      14537 ..c.. bash[root@foundation21 ~]# umount /mnt/卸载成功lsof查看占用后台的PID就可以结合kill -9强制杀死1234567891011121314
    mount -o添加参数进行挂载[root@foundation21 ~]# mount -o ro /dev/sdb1 /mnt/    添加参数表示只读挂载[root@foundation21 ~]# dfFilesystem     1K-blocks     Used Available Use% Mounted on/dev/sda3      307974224 29625448 278348776  10% /devtmpfs         1868044        0   1868044   0% /devtmpfs            1881152      188   1880964   1% /dev/shmtmpfs            1881152     9036   1872116   1% /runtmpfs            1881152        0   1881152   0% /sys/fs/cgroup/dev/sda1         505580   149472    356108  30% /boot/dev/loop0       3654720  3654720         0 100% /var/www/html/source7.0/dev/loop1       3947824  3947824         0 100% /var/www/html/source7.2tmpfs             376232       36    376196   1% /run/user/1000tmpfs             376232        0    376232   0% /run/user/0/dev/sdb1       15100688  8722224   6378464  58% /mnt[root@foundation21 ~]# touch /mnt/file1touch: cannot touch ‘/mnt/file1’: Read-only file system用mount查看为ro不能建立文件只读[root@foundation21 ~]# umount /dev/sdb1[root@foundation21 ~]# mount -o rw /dev/sdb1 /mnt/    可写挂载用mount查看为rw可以建立文件可写[root@foundation21 ~]# touch /mnt/file1123456789101112131415161718192021
    fdisk命令的使用:[root@localhost ~]# fdisk /dev/vdb打开分区列表Command (m for help): n  创建分区Partition type:          创建分区类型   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): p   主分区Partition number (1-4, default 1): 1  指定主分区idFirst sector (2048-20971519, default 2048):   分区起始块位置,用默认Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M 分配100M内存,分区结束位置,用+大小的方式指定Partition 1 of type Linux and of size 100 MiB is set
    Command (m for help): p    查看分区   Device Boot      Start         End      Blocks   Id  System/dev/vdb1            2048      206847      102400   83  Linux/dev/vdb2          206848      411647      102400   83  Linux/dev/vdb3          411648      616447      102400   83  Linux/dev/vdb4          616448    20971519    10177536    5  Extended/dev/vdb5          618496      823295      102400   83  Linux
    Command (m for help): wq  保存分区策略并退出fdisk界面[root@localhost ~]# partprobe    手动同步分区信息[root@localhost ~]# cat /proc/partitions  查看设备是否被系统识别major minor  #blocks  name
     253        0   10485760 vda 253        1   10484142 vda1 253       16   10485760 vdb 253       17     102400 vdb1 253       18     102400 vdb2 253       19     102400 vdb3 253       20          1 vdb4 253       21     102400 vdb5123456789101112131415161718192021222324252627282930313233fdisk的帮助命令:[root@localhost ~]# fdisk /dev/vdbCommand (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)123456789101112131415161718192021演示创建拓展分区:
    同步查看分区列表:
    文件系统:mkfs.xfs /dev/vdb1  格式化设备,在设备上安装文件系统xfsblkid                查看可用设备,可以看到被格式化好的 /dev/vdb1[root@localhost ~]# mount /dev/vdb5 /mnt/  无法挂载mount: /dev/vdb5 is write-protected, mounting read-onlymount: unknown filesystem type '(null)'[root@localhost ~]# mkfs.xfs /dev/vdb5  格式化设备meta-data=/dev/vdb5              isize=256    agcount=4, agsize=6400 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=0data     =                       bsize=4096   blocks=25600, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=0log      =internal log           bsize=4096   blocks=853, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0[root@localhost ~]# blkid   查看可用设备/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" /dev/vdb5: UUID="c26f6c71-59b7-42e3-aab9-295d369ceb30" TYPE="xfs" [root@localhost ~]# mkfs.xfs /dev/vdb1  格式化vdb1meta-data=/dev/vdb1              isize=256    agcount=4, agsize=6400 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=0data     =                       bsize=4096   blocks=25600, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=0log      =internal log           bsize=4096   blocks=853, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0[root@localhost ~]# blkid  查看可用设备/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" /dev/vdb5: UUID="c26f6c71-59b7-42e3-aab9-295d369ceb30" TYPE="xfs" /dev/vdb1: UUID="b6e4f9cf-1e3e-437f-ae4e-fefb9fad45a5" TYPE="xfs" [root@localhost ~]# mount /dev/vdb5 /mnt/  挂载成功[root@localhost ~]# df     查看时挂载成功Filesystem     1K-blocks    Used Available Use% Mounted on/dev/vda1       10473900 3764108   6709792  36% /devtmpfs          469344       0    469344   0% /devtmpfs             484932      84    484848   1% /dev/shmtmpfs             484932   12820    472112   3% /runtmpfs             484932       0    484932   0% /sys/fs/cgroup/dev/vdb5          98988    5280     93708   6% /mnt
    123456789101112131415161718192021222324252627282930313233343536373839404142格式化vdb1:
    解决挂载问题,格式化之后可以挂载。
    MBR分区和GPT分区:MBR分区的意思是“主引导记录”,它有自己的启动器,也就是启动代码,一旦启动代码被破坏,系统就没法启动,只有通过修复才能启动系统。最大支持2TB容量,在容量方面存在着极大的瓶颈,那么GPT在今后的发展就会越来越占优势。GPT意为GUID分区表,这个标准没有MBR的那些限制。磁盘驱动器容量可以大得多,大到操作系统和文件系统都没法支持。它同时还支持几乎无限个分区数量,限制只在于操作系统,Windows支持最多128个GPT分区。1234GPT分区方式:解决一个分区不能超过2tb。[root@localhost ~]# fdisk /dev/vdb    删除分区
    Command (m for help): dPartition number (1-5, default 5): 1Partition 1 is deleted不挨个演示删除分区,命令格式都是相同的。[root@localhost ~]# umount /mnt/  解除挂载,不然会有报错[root@localhost ~]# parted /dev/vdb   设置分区方式New disk label type? gpt                                                  [root@localhost ~]# fdisk -l  出来gpt说明更改分区方式成功                                             Disk label type: gpt#         Start          End    Size  Type            Name[root@localhost ~]# fdisk /dev/vdb  创建两个分区Command (m for help): pDisk label type: gpt  已经变为gpt分区

    #         Start          End    Size  Type            Name 1         2048       206847    100M  Linux filesyste  2       206848       411647    100M  Linux filesyste 
    Command (m for help): wq[root@localhost ~]# partprobe[root@localhost ~]# cat /proc/partitionsmajor minor  #blocks  name
     253        0   10485760 vda 253        1   10484142 vda1 253       16   10485760 vdb 253       17     102400 vdb1 253       18     102400 vdb2
    1234567891011121314151617181920212223242526272829303132更改分区类型为gpt类型。
    同步查看:
    gpt分区中可以建立1-128个分区。
    变更分区:将gpt分区变更为mbr分区:[root@localhost ~]# parted /dev/vdbNew disk label type? msdos                                                [root@localhost ~]# fdisk -l                                              Disk label type: dos   变成dos表示变更成功Disk identifier: 0x000ee51e   Device Boot      Start         End      Blocks   Id  System123456变更分区:
    永久挂载:[root@localhost ~]# df    查看挂载Filesystem     1K-blocks    Used Available Use% Mounted on/dev/vda1       10473900 3764228   6709672  36% /devtmpfs          469344       0    469344   0% /devtmpfs             484932      84    484848   1% /dev/shmtmpfs             484932   12772    472160   3% /runtmpfs             484932       0    484932   0% /sys/fs/cgroup[root@localhost ~]# vim /etc/fstab   编辑文件/dev/vdb1   /mnt   xfs文件类型  defaults(挂载参数)     0(是否备份) 0(是否检测) [root@localhost ~]# mount -a         重新读入[root@localhost ~]# fdisk /dev/vdb     分区必须存在
       Device Boot      Start         End      Blocks   Id  System/dev/vdb1            2048      206847      102400   83  Linux/dev/vdb2          206848      411647      102400   83  Linux[root@localhost ~]# dfFilesystem     1K-blocks    Used Available Use% Mounted on/dev/vda1       10473900 3764256   6709644  36% /devtmpfs          469344       0    469344   0% /devtmpfs             484932      84    484848   1% /dev/shmtmpfs             484932   12788    472144   3% /runtmpfs             484932       0    484932   0% /sys/fs/cgroup/dev/vdb1          98988    5280     93708   6% /mnt1234567891011121314151617181920212223写入文件内容:首先需要注意的是文件里面的/dev/vdb1分区需要我们一开始划分好。分区存在的情况可以永久挂载
    swap分区的设置Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。123[root@localhost ~]# swapon -s    重新读入[root@localhost ~]# fdisk /dev/vdb  划分分区Command (m for help): t  修改为swap分区 Partition number (1-5, default 5): 2Hex code (type L to list all codes): 82 这里的82就是类型,不知道的可以按两下Tab键会出来所有类型,在其中找到swap对应的分区即可。Command (m for help): wq[root@localhost ~]# partprobe  同步[root@localhost ~]# mkswap /dev/vdb2  格式化[root@localhost ~]# swapon -a /dev/vdb2      重新读入[root@localhost ~]# swapon -s         查看FilenameTypeSizeUsedPriority/dev/vdb2                              partition1023960-1[root@localhost ~]# vim /etc/fstab   永久更改swap[root@localhost ~]# swapon -a[root@localhost ~]# fdisk -l   Device Boot      Start         End      Blocks   Id  System/dev/vdb1            2048      206847      102400   83  Linux/dev/vdb2          206848      411647      102400   82  Linux swap / Solaris  已经修改好/dev/vdb3          411648      616447      102400   83  Linux/dev/vdb4          616448    20971519    10177536    5  Extended/dev/vdb5          618496      823295      102400   83  Linux/dev/vdb2    swap  swap  defaults  0 0[root@localhost ~]# vim /etc/fstab  删除永久挂载,恢复环境[root@localhost ~]# swapoff /dev/vdb2[root@localhost ~]# fdisk /dev/vdb Command (m for help): d   删除swap分区Partition number (1-5, default 5): 2Command (m for help): wq[root@localhost ~]# partprobe 同步[root@localhost ~]# cat /proc/partitions major minor  #blocks  name
     253        0   10485760 vda 253        1   10484142 vda1 253       16   10485760 vdb 253       17     102400 vdb1 253       19     102400 vdb3 253       20          1 vdb4 253       21     102400 vdb5123456789101112131415161718192021222324252627282930313233343536373839vim /etc/fstab永久挂载的文件内容:第一个swap表示系统不需要挂载。第二个swap表示系统配置类型。
    同步格式化查看是否更改成功。
    删除swap分区同步进行查看。
    磁盘的加密保护:首先用fdisk /dev/vdb命令划分一个1000M的vdb1分区进行实验操作。
    [root@localhost ~]# partprobe    同步[root@localhost ~]# cryptsetup luksFormat /dev/vdb1    设置加密Are you sure? (Type uppercase yes): YES    必须输入大写,Enter passphrase: 密码为2018westos[root@localhost ~]# mount /dev/vdb1 /mnt/  挂载mount: unknown filesystem type 'crypto_LUKS' LUKS被加密[root@localhost ~]# ls /dev/mapper/control[root@localhost ~]# cryptsetup open /dev/vdb1 westos  生成解密形态Enter passphrase for /dev/vdb1: 要求输入密码。[root@localhost ~]# ls /dev/mapper/  解密形态保存到westoscontrol  westos[root@localhost ~]# mkfs.xfs /dev/mapper/westos  格式化[root@localhost ~]# mount /dev/mapper/westos /mnt/  用解密形态挂载成功[root@localhost ~]# touch /mnt/file{1..10}     建立文件成功[root@localhost ~]# ls /mnt/file1  file10  file2  file3  file4  file5  file6  file7  file8  file9[root@localhost ~]# umount /mnt/       解除挂载[root@localhost ~]# dfFilesystem     1K-blocks    Used Available Use% Mounted on/dev/vda1       10473900 3764284   6709616  36% /devtmpfs          469344       0    469344   0% /devtmpfs             484932      84    484848   1% /dev/shmtmpfs             484932   12808    472124   3% /runtmpfs             484932       0    484932   0% /sys/fs/cgroup[root@localhost ~]# ls /mnt/[root@localhost ~]# cryptsetup close westos   关闭解密形态[root@localhost ~]# ls /dev/mapper/control[root@localhost ~]# mount /dev/mapper/westos /mnt/  挂载不上mount: special device /dev/mapper/westos does not exist[root@localhost ~]# mount /dev/vdb1 /mnt/   挂载不成功mount: unknown filesystem type 'crypto_LUKS'[root@localhost ~]# cryptsetup open /dev/vdb1 westos  打开保存解密到westosEnter passphrase for /dev/vdb1: [root@localhost ~]# mount /dev/vdb1 /mnt/    用原来文件无法挂载mount: unknown filesystem type 'crypto_LUKS'[root@localhost ~]# mount /dev/mapper/westos /mnt/  用形态挂载成功[root@localhost ~]# dfFilesystem         1K-blocks    Used Available Use% Mounted on/dev/vda1           10473900 3764284   6709616  36% /devtmpfs              469344       0    469344   0% /devtmpfs                 484932      84    484848   1% /dev/shmtmpfs                 484932   12808    472124   3% /runtmpfs                 484932       0    484932   0% /sys/fs/cgroup/dev/mapper/westos   1018540   32928    985612   4% /mnt   挂载成功[root@localhost ~]# ls /mnt/   文件可以查看file1  file10  file2  file3  file4  file5  file6  file7  file8  file9
    1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950生成加密,直接挂载不上,所以我们需要解密到一个文件,名字自取。
    格式化之后就可以正常挂载,还可以建立文件。
    重复操作,不进行打开加密是无法挂载的

    开机自动挂载[root@localhost ~]# vim /root/diskpass   随便建立一个密码文件放入你自己的密码[root@localhost ~]# cat /root/diskpass2018westos[root@localhost ~]# chmod 600 /root/diskpass   赋予权限[root@localhost ~]# cryptsetup luksAddKey /dev/vdb1 /root/diskpass   A,K大写,添加加密Enter any passphrase: 2018westos[root@localhost ~]# vim /etc/crypttab 编辑文件使其自动读入密码[root@localhost ~]# cat /etc/crypttab westos /dev/vdb1   /root/diskpass[root@localhost ~]# vim /etc/fstab   将解密形态挂载[root@localhost ~]# cat /etc/fstab 只演示添加行。/dev/mapper/westos   /mnt   xfs  defaults   0  0[root@localhost ~]# reboot  重启生效[root@localhost ~]# df   开机自动挂载Filesystem         1K-blocks    Used Available Use% Mounted on/dev/vda1           10473900 3763632   6710268  36% /devtmpfs              469344       0    469344   0% /devtmpfs                 484932      80    484852   1% /dev/shmtmpfs                 484932   12760    472172   3% /runtmpfs                 484932       0    484932   0% /sys/fs/cgroup/dev/mapper/westos   1018540   32928    985612   4% /mnt[root@localhost ~]# cat /var/log/boot.log   查看开机启动日志[  OK  ] Found device /dev/mapper/westos.      自动读取密码的日志         Mounting /mnt...[  OK  ] Mounted /mnt.1234567891011121314151617181920212223242526编辑加密文件使得开机自动挂载:
    重启用df查看挂载显示已经挂载成功。
    查找登陆日志挂载成功:

    将开机自动挂载解除,还有关闭luks加密[root@localhost ~]# vim /etc/fstab  删除编辑内容[root@localhost ~]# vim /etc/crypttab  删除编辑内容[root@localhost ~]# rm -fr /root/diskpass  删除密码文件[root@localhost ~]# dfFilesystem         1K-blocks    Used Available Use% Mounted on/dev/vda1           10473900 3763764   6710136  36% /devtmpfs              469344       0    469344   0% /devtmpfs                 484932      80    484852   1% /dev/shmtmpfs                 484932   12760    472172   3% /runtmpfs                 484932       0    484932   0% /sys/fs/cgroup/dev/mapper/westos   1018540   32928    985612   4% /mnt[root@localhost ~]# umount /mnt/  解除挂载[root@localhost ~]# cryptsetup close westos  关闭luks加密[root@localhost ~]# mkfs.xfs /dev/vdb1       格式化mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (crypto_LUKS).mkfs.xfs: Use the -f option to force overwrite.[root@localhost ~]# mkfs.xfs /dev/vdb1 -f    根据提示强制格式化1234567891011121314151617


    [root@foundation21 ~]# df 查看系统正在使用的设备
    /dev/sdb1 15100688 8722224 6378464 58% /run/media/kiosk/Ѧ 会出来U盘标识
    [root@foundation21 ~]# umount /dev/sdb1 卸载
    [root@foundation21 ~]# mount /dev/sdb1 /mnt/ 挂载到/mnt/下,打开/mnt会看到U盘文件
    [root@foundation21 ~]# cd /mnt/ 占用后台,然后用另外一个shell来结束进程
    [root@foundation21 mnt]# fdisk -l 查看分区信息
    Device Boot Start End Blocks Id System
    /dev/sdb1 * 63 30217823 15108880+ c W95 FAT32 (LBA) U盘

    B:

    [root@foundation21 ~]# umount /mnt/ 在挂载目录中没办法直接卸载
    umount: /mnt: target is busy.
    (In some cases useful info about processes that use
    the device is found by lsof(8) or fuser(1)) 两种查看方式
    [root@foundation21 ~]# fuser -vm /dev/sdb1 查看占用后台的PID
    USER PID ACCESS COMMAND
    /dev/sdb1: root kernel mount /mnt
    root 14537 ..c.. bash
    [root@foundation21 ~]# fuser -kvm /dev/sdb1 杀死后台
    USER PID ACCESS COMMAND
    /dev/sdb1: root kernel mount /mnt
    root 14537 ..c.. bash
    [root@foundation21 ~]# umount /mnt/卸载成功
    lsof查看占用后台的PID就可以结合kill -9强制杀死

    mount -o添加参数进行挂载
    [root@foundation21 ~]# mount -o ro /dev/sdb1 /mnt/ 添加参数表示只读挂载
    [root@foundation21 ~]# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/sda3 307974224 29625448 278348776 10% /
    devtmpfs 1868044 0 1868044 0% /dev
    tmpfs 1881152 188 1880964 1% /dev/shm
    tmpfs 1881152 9036 1872116 1% /run
    tmpfs 1881152 0 1881152 0% /sys/fs/cgroup
    /dev/sda1 505580 149472 356108 30% /boot
    /dev/loop0 3654720 3654720 0 100% /var/www/html/source7.0
    /dev/loop1 3947824 3947824 0 100% /var/www/html/source7.2
    tmpfs 376232 36 376196 1% /run/user/1000
    tmpfs 376232 0 376232 0% /run/user/0
    /dev/sdb1 15100688 8722224 6378464 58% /mnt
    [root@foundation21 ~]# touch /mnt/file1
    touch: cannot touch ‘/mnt/file1’: Read-only file system
    用mount查看为ro不能建立文件只读
    [root@foundation21 ~]# umount /dev/sdb1
    [root@foundation21 ~]# mount -o rw /dev/sdb1 /mnt/ 可写挂载
    用mount查看为rw可以建立文件可写
    [root@foundation21 ~]# touch /mnt/file1

    fdisk命令的使用:
    [root@localhost ~]# fdisk /dev/vdb打开分区列表
    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 指定主分区id
    First sector (2048-20971519, default 2048): 分区起始块位置,用默认
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M 分配100M内存,分区结束位置,用+大小的方式指定
    Partition 1 of type Linux and of size 100 MiB is set

    Command (m for help): p 查看分区
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 206847 102400 83 Linux
    /dev/vdb2 206848 411647 102400 83 Linux
    /dev/vdb3 411648 616447 102400 83 Linux
    /dev/vdb4 616448 20971519 10177536 5 Extended
    /dev/vdb5 618496 823295 102400 83 Linux

    Command (m for help): wq 保存分区策略并退出fdisk界面
    [root@localhost ~]# partprobe 手动同步分区信息
    [root@localhost ~]# cat /proc/partitions 查看设备是否被系统识别
    major minor #blocks name

    253 0 10485760 vda
    253 1 10484142 vda1
    253 16 10485760 vdb
    253 17 102400 vdb1
    253 18 102400 vdb2
    253 19 102400 vdb3

    fdisk的帮助命令:
    [root@localhost ~]# 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)

    演示创建拓展分区:

    同步查看分区列表:

    文件系统:
    mkfs.xfs /dev/vdb1 格式化设备,在设备上安装文件系统xfs
    blkid 查看可用设备,可以看到被格式化好的 /dev/vdb1
    [root@localhost ~]# mount /dev/vdb5 /mnt/ 无法挂载
    mount: /dev/vdb5 is write-protected, mounting read-only
    mount: unknown filesystem type '(null)'
    [root@localhost ~]# mkfs.xfs /dev/vdb5 格式化设备
    meta-data=/dev/vdb5 isize=256 agcount=4, agsize=6400 blks
    = sectsz=512 attr=2, projid32bit=1
    = crc=0
    data = bsize=4096 blocks=25600, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0 ftype=0
    log =internal log bsize=4096 blocks=853, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0
    [root@localhost ~]# blkid 查看可用设备
    /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
    /dev/vdb5: UUID="c26f6c71-59b7-42e3-aab9-295d369ceb30" TYPE="xfs"
    [root@localhost ~]# mkfs.xfs /dev/vdb1 格式化vdb1
    meta-data=/dev/vdb1 isize=256 agcount=4, agsize=6400 blks
    = sectsz=512 attr=2, projid32bit=1
    = crc=0
    data = bsize=4096 blocks=25600, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0 ftype=0
    log =internal log bsize=4096 blocks=853, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0
    [root@localhost ~]# blkid 查看可用设备
    /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
    /dev/vdb5: UUID="c26f6c71-59b7-42e3-aab9-295d369ceb30" TYPE="xfs"
    /dev/vdb1: UUID="b6e4f9cf-1e3e-437f-ae4e-fefb9fad45a5" TYPE="xfs"
    [root@localhost ~]# mount /dev/vdb5 /mnt/ 挂载成功
    [root@localhost ~]# df 查看时挂载成功
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 10473900 3764108 6709792 36% /
    devtmpfs 469344 0 469344 0% /dev
    tmpfs 484932 84 484848 1% /dev/shm
    tmpfs 484932 12820 472112 3% /run
    tmpfs 484932 0 484932 0% /sys/fs/cgroup
    /dev/vdb5 98988 5280 93708 6% /mnt

    格式化vdb1:

    解决挂载问题,格式化之后可以挂载。

    MBR分区和GPT分区:
    MBR分区的意思是“主引导记录”,它有自己的启动器,也就是启动代码,一旦启动代码被破坏,系统就没法启动,只有通过
    修复才能启动系统。最大支持2TB容量,在容量方面存在着极大的瓶颈,那么GPT在今后的发展就会越来越占优势。
    GPT意为GUID分区表,这个标准没有MBR的那些限制。磁盘驱动器容量可以大得多,大到操作系统和文件系统都没法支持。
    它同时还支持几乎无限个分区数量,限制只在于操作系统,Windows支持最多128个GPT分区。
    1
    2
    3
    4
    GPT分区方式:解决一个分区不能超过2tb。
    [root@localhost ~]# fdisk /dev/vdb 删除分区

    Command (m for help): d
    Partition number (1-5, default 5): 1
    Partition 1 is deleted
    不挨个演示删除分区,命令格式都是相同的。
    [root@localhost ~]# umount /mnt/ 解除挂载,不然会有报错
    [root@localhost ~]# parted /dev/vdb 设置分区方式
    New disk label type? gpt
    [root@localhost ~]# fdisk -l 出来gpt说明更改分区方式成功
    Disk label type: gpt
    # Start End Size Type Name
    [root@localhost ~]# fdisk /dev/vdb 创建两个分区
    Command (m for help): p
    Disk label type: gpt 已经变为gpt分区


    # Start End Size Type Name
    1 2048 206847 100M Linux filesyste
    2 206848 411647 100M Linux filesyste

    Command (m for help): wq
    [root@localhost ~]# partprobe
    [root@localhost ~]# cat /proc/partitions
    major minor #blocks name

    253 0 10485760 vda
    253 1 10484142 vda1
    253 16 10485760 vdb

    更改分区类型为gpt类型。

    同步查看:

    gpt分区中可以建立1-128个分区。

    变更分区:将gpt分区变更为mbr分区:
    [root@localhost ~]# parted /dev/vdb
    New disk label type? msdos
    [root@localhost ~]# fdisk -l
    Disk label type: dos 变成dos表示变更成功
    Disk identifier: 0x000ee51e
    Device Boot Start End Blocks Id System

    变更分区:

    永久挂载:
    [root@localhost ~]# df 查看挂载
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 10473900 3764228 6709672 36% /
    devtmpfs 469344 0 469344 0% /dev
    tmpfs 484932 84 484848 1% /dev/shm
    tmpfs 484932 12772 472160 3% /run
    tmpfs 484932 0 484932 0% /sys/fs/cgroup
    [root@localhost ~]# vim /etc/fstab 编辑文件
    /dev/vdb1 /mnt xfs文件类型 defaults(挂载参数) 0(是否备份) 0(是否检测)
    [root@localhost ~]# mount -a 重新读入
    [root@localhost ~]# fdisk /dev/vdb 分区必须存在

    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 206847 102400 83 Linux
    /dev/vdb2 206848 411647 102400 83 Linux
    [root@localhost ~]# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 10473900 3764256 6709644 36% /
    devtmpfs 469344 0 469344 0% /dev
    tmpfs 484932 84 484848 1% /dev/shm
    tmpfs 484932 12788 472144 3% /run
    tmpfs 484932 0 484932 0% /sys/fs/cgroup
    /dev/vdb1 98988 5280 93708 6% /mnt

    写入文件内容:首先需要注意的是文件里面的/dev/vdb1分区需要我们一开始划分好。
    分区存在的情况可以永久挂载

    swap分区的设置
    Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放
    的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,
    再从Swap分区中恢复保存的数据到内存中。
    1
    2
    3
    [root@localhost ~]# swapon -s 重新读入
    [root@localhost ~]# fdisk /dev/vdb 划分分区
    Command (m for help): t 修改为swap分区
    Partition number (1-5, default 5): 2
    Hex code (type L to list all codes): 82 这里的82就是类型,不知道的可以按两下Tab键会出来所有类型,在其中找到swap对应的分区即可。
    Command (m for help): wq
    [root@localhost ~]# partprobe 同步
    [root@localhost ~]# mkswap /dev/vdb2 格式化
    [root@localhost ~]# swapon -a /dev/vdb2 重新读入
    [root@localhost ~]# swapon -s 查看
    Filename Type Size Used Priority
    /dev/vdb2 partition 102396 0 -1
    [root@localhost ~]# vim /etc/fstab 永久更改swap
    [root@localhost ~]# swapon -a
    [root@localhost ~]# fdisk -l
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 206847 102400 83 Linux
    /dev/vdb2 206848 411647 102400 82 Linux swap / Solaris 已经修改好
    /dev/vdb3 411648 616447 102400 83 Linux
    /dev/vdb4 616448 20971519 10177536 5 Extended
    /dev/vdb5 618496 823295 102400 83 Linux
    /dev/vdb2 swap swap defaults 0 0
    [root@localhost ~]# vim /etc/fstab 删除永久挂载,恢复环境
    [root@localhost ~]# swapoff /dev/vdb2
    [root@localhost ~]# fdisk /dev/vdb
    Command (m for help): d 删除swap分区
    Partition number (1-5, default 5): 2
    Command (m for help): wq
    [root@localhost ~]# partprobe 同步
    [root@localhost ~]# cat /proc/partitions
    major minor #blocks name

    253 0 10485760 vda
    253 1 10484142 vda1
    253 16 10485760 vdb


    vim /etc/fstab永久挂载的文件内容:第一个swap表示系统不需要挂载。第二个swap表示系统配置类型。

    同步格式化查看是否更改成功。

    删除swap分区同步进行查看。

    磁盘的加密保护:
    首先用fdisk /dev/vdb命令划分一个1000M的vdb1分区进行实验操作。

    [root@localhost ~]# partprobe 同步
    [root@localhost ~]# cryptsetup luksFormat /dev/vdb1 设置加密
    Are you sure? (Type uppercase yes): YES 必须输入大写,
    Enter passphrase: 密码为2018westos
    [root@localhost ~]# mount /dev/vdb1 /mnt/ 挂载
    mount: unknown filesystem type 'crypto_LUKS' LUKS被加密
    [root@localhost ~]# ls /dev/mapper/
    control
    [root@localhost ~]# cryptsetup open /dev/vdb1 westos 生成解密形态
    Enter passphrase for /dev/vdb1: 要求输入密码。
    [root@localhost ~]# ls /dev/mapper/ 解密形态保存到westos
    control westos
    [root@localhost ~]# mkfs.xfs /dev/mapper/westos 格式化
    [root@localhost ~]# mount /dev/mapper/westos /mnt/ 用解密形态挂载成功
    [root@localhost ~]# touch /mnt/file{1..10} 建立文件成功
    [root@localhost ~]# ls /mnt/
    file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
    [root@localhost ~]# umount /mnt/ 解除挂载
    [root@localhost ~]# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 10473900 3764284 6709616 36% /
    devtmpfs 469344 0 469344 0% /dev
    tmpfs 484932 84 484848 1% /dev/shm
    tmpfs 484932 12808 472124 3% /run
    tmpfs 484932 0 484932 0% /sys/fs/cgroup
    [root@localhost ~]# ls /mnt/
    [root@localhost ~]# cryptsetup close westos 关闭解密形态
    [root@localhost ~]# ls /dev/mapper/
    control
    [root@localhost ~]# mount /dev/mapper/westos /mnt/ 挂载不上
    mount: special device /dev/mapper/westos does not exist
    [root@localhost ~]# mount /dev/vdb1 /mnt/ 挂载不成功
    mount: unknown filesystem type 'crypto_LUKS'
    [root@localhost ~]# cryptsetup open /dev/vdb1 westos 打开保存解密到
    westos
    Enter passphrase for /dev/vdb1:
    [root@localhost ~]# mount /dev/vdb1 /mnt/ 用原来文件无法挂载
    mount: unknown filesystem type 'crypto_LUKS'
    [root@localhost ~]# mount /dev/mapper/westos /mnt/ 用形态挂载成功
    [root@localhost ~]# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 10473900 3764284 6709616 36% /
    devtmpfs 469344 0 469344 0% /dev
    tmpfs 484932 84 484848 1% /dev/shm
    tmpfs 484932 12808 472124 3% /run
    tmpfs 484932 0 484932 0% /sys/fs/cgroup
    /dev/mapper/westos 1018540 32928 985612 4% /mnt 挂载成功
    [root@localhost ~]# ls /mnt/ 文件可以查看
    file1 file10 file2 file3 file4 file5 file6 file7 file8 file9

    1
    生成加密,直接挂载不上,所以我们需要解密到一个文件,名字自取。

    格式化之后就可以正常挂载,还可以建立文件。

    重复操作,不进行打开加密是无法挂载的


    开机自动挂载
    [root@localhost ~]# vim /root/diskpass 随便建立一个密码文件放入你自己的密码
    [root@localhost ~]# cat /root/diskpass
    2018westos
    [root@localhost ~]# chmod 600 /root/diskpass 赋予权限
    [root@localhost ~]# cryptsetup luksAddKey /dev/vdb1 /root/diskpass A,K大写,添加加密
    Enter any passphrase: 2018westos
    [root@localhost ~]# vim /etc/crypttab 编辑文件使其自动读入密码
    [root@localhost ~]# cat /etc/crypttab
    westos /dev/vdb1 /root/diskpass
    [root@localhost ~]# vim /etc/fstab 将解密形态挂载
    [root@localhost ~]# cat /etc/fstab
    只演示添加行。
    /dev/mapper/westos /mnt xfs defaults 0 0
    [root@localhost ~]# reboot 重启生效
    [root@localhost ~]# df 开机自动挂载
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 10473900 3763632 6710268 36% /
    devtmpfs 469344 0 469344 0% /dev
    tmpfs 484932 80 484852 1% /dev/shm
    tmpfs 484932 12760 472172 3% /run
    tmpfs 484932 0 484932 0% /sys/fs/cgroup
    /dev/mapper/westos 1018540 32928 985612 4% /mnt
    [root@localhost ~]# cat /var/log/boot.log 查看开机启动日志
    [ OK ] Found device /dev/mapper/westos. 自动读取密码的日志
    Mounting /mnt...
    [ OK ] Mounted /mnt.

    编辑加密文件使得开机自动挂载:

    重启用df查看挂载显示已经挂载成功。

    查找登陆日志挂载成功:


    将开机自动挂载解除,还有关闭luks加密
    [root@localhost ~]# vim /etc/fstab 删除编辑内容
    [root@localhost ~]# vim /etc/crypttab 删除编辑内容
    [root@localhost ~]# rm -fr /root/diskpass 删除密码文件
    [root@localhost ~]# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 10473900 3763764 6710136 36% /
    devtmpfs 469344 0 469344 0% /dev
    tmpfs 484932 80 484852 1% /dev/shm
    tmpfs 484932 12760 472172 3% /run
    tmpfs 484932 0 484932 0% /sys/fs/cgroup
    /dev/mapper/westos 1018540 32928 985612 4% /mnt
    [root@localhost ~]# umount /mnt/ 解除挂载
    [root@localhost ~]# cryptsetup close westos 关闭luks加密
    [root@localhost ~]# mkfs.xfs /dev/vdb1 格式化
    mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (crypto_LUKS).
    mkfs.xfs: Use the -f option to force overwrite.
    [root@localhost ~]# mkfs.xfs /dev/vdb1 -f 根据提示强制格式化




  • 相关阅读:
    jsonview插件的常见使用方法整理
    有哪些可以节省chrome内存的扩展插件?
    js得到时间戳(10位数)
    html模板引擎jade的使用
    js获取url参数,操作url参数
    追加window.onload函数
    解决jquery与zepto等其它库冲突兼容的问题
    centos 搭建web平台
    简易web服务器(npm)
    js函数调用与声明 (for时注意)
  • 原文地址:https://www.cnblogs.com/klb561/p/11294144.html
Copyright © 2020-2023  润新知