linux基础(二十一)管理系统存储

来源:互联网 发布:软件体验报告模板 编辑:程序博客网 时间:2024/06/17 13:34

管理系统存储

一、分区划分、挂载

1.分区划分

fdisk /dev/vdb

elcome 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): 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) ##分区类型位主分区

   e   extended              ##分区类型位扩展分区

Select (default p):                   ##默认位主分区

Using default response 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

 

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: 0x193488c3

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048      206847      102400   83  Linux

 

Command (m for help): wq           ##保存推出,如果安q表示放弃更改退出

 

[root@localhost mnt]# partprobe               ##同步分区表

cat /proc/partitions                      ##查看系统识别的分区信息

2.先格式化,然后挂载分区

 

 mkfs.xfs  /dev/vdb1                  ##格式化

mount /dev/vdb5  /mnt              ##临时挂载

 

vim /etc/fstab                      ##永久挂载

devic mountpoint ftype defaults(mountpoint) 0 0

/dev/vdb1 /mnt xfs defaults 0 0

 mount -a                  #使/etc/fstab中记录的所有挂载策略生效

测试:

1.首先给虚拟机增加一块硬盘



2.列出可用的磁盘

[root@server48 ~]# fdisk -l

 

磁盘 /dev/sda8589 MB, 8589934592 字节,16777216 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0009914a

 

   设备 Boot      Start         End      Blocks   Id  System

/dev/sda1            2048     4098047     2048000   82  Linux swap / Solaris

/dev/sda2   *     4098048    16777215     6339584   83  Linux

 

磁盘 /dev/sdb8589 MB, 8589934592 字节,16777216 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

##这块设备就是刚刚新增加的磁盘

3.划分这块设备,划分出一个500M的分区

[root@server48 ~]# fdisk /dev/sdb 

欢迎使用 fdisk (util-linux 2.23.2)

 

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

 

Device does not contain a recognized partition table

使用磁盘标识符 0x90082ec1 创建新的 DOS 磁盘标签。

 

命令(输入 获取帮助)n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): 

Using default response p

分区号 (1-4,默认 1)

起始 扇区 (2048-16777215,默认为 2048)

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-16777215,默认为 16777215)+500M       

分区 已设置为 Linux 类型,大小设为 500 MiB

 

命令(输入 获取帮助)wq

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

4.查看分区情况

[root@server48 ~]# fdisk -l

 

磁盘 /dev/sda8589 MB, 8589934592 字节,16777216 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0009914a

 

   设备 Boot      Start         End      Blocks   Id  System

/dev/sda1            2048     4098047     2048000   82  Linux swap / Solaris

/dev/sda2   *     4098048    16777215     6339584   83  Linux

 

磁盘 /dev/sdb8589 MB, 8589934592 字节,16777216 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x90082ec1

 

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     1026047      512000   83  Linux

##这就是是刚刚从/dev.sdb设备划分出的500M分区

5.格式化分区

[root@server48 ~]# mkfs.xfs /dev/sdb1 

meta-data=/dev/sdb1              isize=256    agcount=4, agsize=32000 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=128000, 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

6.挂载分区

1)临时挂载,重启会失效

[root@server48 ~]# mkdir /zone

[root@server48 ~]# mount /dev/sdb1 /zone/

2)永久挂载

[root@server48 /]# vim /etc/fstab

/dev/sdb1 /zone  xfs defaults 0 0

[root@server48 /]# mount -a

7.重新启动虚拟机,df查看挂载情况,/zone的挂载还在

[root@server48 ~]# df

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

/dev/sda2      6329344 3697836 2631508   59% /

devtmpfs        500528       0  500528    0% /dev

tmpfs           508996      80  508916    1% /dev/shm

tmpfs           508996    7032  501964    2% /run

tmpfs           508996       0  508996    0% /sys/fs/cgroup

/dev/sdb1       508588   25760  482828    6% /zone

 

 

二、设定分区方式为gpt 

 

[root@server0 ~]# parted /dev/vdb

GNU Parted 3.1

Using /dev/vdb

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

(parted) mklabel                                                          

New disk label type? gpt                                                  

Warning: The existing disk label on /dev/vdb will be destroyed and all data on this disk will be lost. Do you

want to continue?

Yes/No? y                                                                 

(parted) quit                                                             

 

 

 

 

 

三、swap

1.fdisk /dev/vdb #分区

2.fdisk 中修改swap分区标识

1)如果文件系统是gpt的,14代表swap

2)如果文件系统是doc的,82代表swap

3.##n代表第n个分区

mkswap /dev/vdbn           #格式化swap分区的命令

4.

swapon -a /dev/vdbn         #激活swap分区

5.

vim /etc/fstab                #写入开机挂载配置文件,永久挂载

   磁盘    挂载位置  类型     挂载参数       不检测 不备份    

/dev/vdbn swap  swap defaults,pri=1    0     0     ##pri代表优先级,可以不加

6.

swapoff /dev/vdbn           #关闭swap分区

测试:

1.建立swap分区

[root@server48 ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)

 

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

 

 

命令(输入 获取帮助)p      #显示分区,查看类型

 

磁盘 /dev/sdb8589 MB, 8589934592 字节,16777216 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x90082ec1

 

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     1026047      512000   83  Linux

 

命令(输入 获取帮助)l            #列出系统可用类型

 

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        

 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-

 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-

 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-

 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         

 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 

 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .

 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      

 8  AIX             4e  QNX4.x 2部分  8e  Linux LVM       df  BootIt         

 9  AIX 可启动      4f  QNX4.x 3部分  93  Amoeba          e1  DOS 访问       

 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        

 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      

 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        

 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            

 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/

10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  

11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      

12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      

14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       

16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    

17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 

18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动

1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        

1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            

1e  隐藏的 W95 FAT1 80  旧 Minix       

 

命令(输入 获取帮助)n           #划分一个500M的新分区

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p): 

Using default response p

分区号 (2-4,默认 2)

起始 扇区 (1026048-16777215,默认为 1026048)

将使用默认值 1026048

Last 扇区, +扇区 or +size{K,M,G} (1026048-16777215,默认为 16777215)+500M

分区 已设置为 Linux 类型,大小设为 500 MiB

 

命令(输入 获取帮助)t            #修改分区类型为swap

分区号 (1,2,默认 2)

Hex 代码(输入 列出所有代码)82

已将分区“Linux”的类型更改为“Linux swap / Solaris

 

命令(输入 获取帮助)::p     #查看

 

磁盘 /dev/sdb8589 MB, 8589934592 字节,16777216 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x90082ec1

 

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     1026047      512000   83  Linux

/dev/sdb2         1026048     2050047      512000   82  Linux swap / Solaris

 

命令(输入 获取帮助)wq

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

正在同步磁盘。

2.同步分区表

[root@server48 ~]# partprobe

3.格式化

[root@server48 ~]# mkswap /dev/sdb2 

正在设置交换空间版本 1,大小 = 511996 KiB

无标签,UUID=c468b27c-cef1-47ca-b1c3-fd9fa8894f88

4.激活新分区挂载到swap

[root@server48 ~]# swapon -a /dev/sdb2 

[root@server48 ~]# swapon -s                           ##查看

文件名 类型 大小 已用 权限

/dev/sda1                               partition 2047996 0 -1

/dev/sdb2                               partition 511996 0 -2

5.验证

[root@server48 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:           994        544        449          6          1        241

-/+ buffers/cache:        302        691

Swap:         2499          0       2499

可见swap分区变成了2.5G,之前是2G

6.关闭swap分区

[root@server48 ~]# swapoff /dev/sdb2 

[root@server48 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:           994        553        440          6          0        247

-/+ buffers/cache:        305        688

Swap:         1999          0       1999

##swap又恢复2G

6.永久挂载

vim /etc/fstab

/dev/sdb2 swap swap defaults 0 0

##重启之后swap又变成2.5G

 

 

 

 

 

 

四、磁盘加密

首先删除之前创建的分区

[root@server48 ~]# umount /zone/

[root@server48 ~]# swapoff /dev/sdb2

[root@server48 ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)

 

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

 

 

命令(输入 获取帮助)d

分区号 (1,2,默认 2)

分区 已删除

 

命令(输入 获取帮助)d

已选择分区 1

分区 已删除

命令(输入 获取帮助)wq

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

正在同步磁盘。

[root@server48 ~]# partprobe 

 

1.磁盘加密

1)创建分区,清楚挂载

fdisk  /dev/sdb 用-n创建一个500M新的分区

vim /etc/fstab

#/dev/sdb1 /zone  xfs defaults 0 0

#/dev/sdb2 swap swap defaults,pri=1 0 0

注释或删除这两行

2)加密

[root@server48 ~]# cryptsetup luksFormat /dev/sdb1 

 

WARNING!

========

This will overwrite data on /dev/sdb1 irrevocably.

 

Are you sure? (Type uppercase yes): YES       #小写或简写不识别

Enter passphrase:                       #输入密码

Verify passphrase:                       #确认密码

3打开加密的分区

[root@server48 ~]# cryptsetup open /dev/sdb1 redhat    #redhat这里也可以是其他任何名字

Enter passphrase for /dev/sdb1:              #输入刚才的密码

4)格式化分区为xfs格式

 ##/dev/mapper下代表虚拟设备

[root@server48 ~]# mkfs.xfs /dev/mapper/redhat 

meta-data=/dev/mapper/redhat     isize=256    agcount=4, agsize=31872 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=127488, 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

 

5)挂载、卸载

mount /dev/mapper/redhat  /zone

umount /zone

6关闭加密分区

cryptsetup close redhat

2.加密磁盘的永久挂载

vim /etc/crypttab

解密后设备管理文件 设备 加密字符存放文件

redhat  /dev/sdb1      /root/lukspsfile

vim /root/lukspsfile 加密字符文件,在这里面写上加密用的密码

 

chmod 600 /root/lukspsfile 密码文件设置600权限,不让其他用户查看

cryptsetup luksAddKey /dev/sdb1  /root/lukspsfile 关联设备和密码文件

vim /etc/fstab  自动挂载

/dev/mapper/redhat /zone xfs defaults 0 0

mount -a 检测/etc/fstab自动挂载

 

3.加密清除

vim /etc/fstab

> /etc/crypttab

rm -fr /root/lukspsfile

umount /zone

cryptsetup close redhat

mkfs.xfs  /dev/sdb1

 

五、磁盘阵列####

fdisk  /dev/vdb 创建三个分区,分区标示为raid

mdadm  -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3} 制作双磁盘一个闲置

mkfs.xfs  /dev/md0 格式化

mount /dev/md0  /mnt/ 挂载

watch -n 1 cat /proc/mdstat 监控

 

 

mdadm -f /dev/md0  /dev/vdb1 失效指定硬盘

mdadm -D /dev/md0 查看raid状态

mdadm -r /dev/md0  /dev/vdb1  删除指定硬盘

mdadm -a /dev/md0 /dev/vdb1 添加指定硬盘

umount /mnt/ 取消挂载

mdadm  -S /dev/md0 停止使用

fdisk /dev/vdb

删除分区

partprobe同步分区表

 

####5.配额####

mount -o usrquota /dev/vdb1 /pub 挂载,加上配额参数打开,默认是关闭的,加-o

quotaon -uv /dev/vdb1 启动磁盘配额在添加这个参数后,打开权限配额,打开的是mount挂载的 /dev/vdbN

edquota -u student

Disk quotas for user student (uid 1000):

  Filesystem                   blocks       soft       hard     inodes     soft     hard

  /dev/vdb1                    102400          0       40000       1        0        0

su - student

dd if=/dev/zero of=/pub/file bs=1M count=500

dd: error writing /pub/file: Disk quota exceeded

101+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 0.0916726 s, 1.1 GB/s

 

quota

Disk quotas for user student (uid 1000): 

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

      /dev/vdb1  102400*      0  102400               1       0       0      














原创粉丝点击