linux系统基本操作——存储设备的管理

1.设备的查看(server里实验)
1)发现系统中的设备

fdisk -l


cat /proc/partitions



2)系统发现的,但是没有投入使用,随时可以使用

blkid    ##查看设备的ud信息



3)发现并在使用
df -h    ##10^10

df -H    ##10^20


2.设备名称的读取
/dev/xd*
x=s   /dev/sd*    ##sata硬盘,或者iscsi网络存储
x=v   /dev/vd*    ##虚拟硬盘,一般出现在虚拟机里
x=h   /dev/hd     ##ida硬盘,一般出现在老式硬盘里
/dev/sdal         ##系统中的sata硬盘中的第一个分区
*=a~ 。。。。        ##/dev/vda,系统中的第一块虚拟硬盘
/dev/cdrom,/dev/sr[0-...]  ##系统中的光驱

/dev/maooer/*   ##系统中的虚拟设备


3.对设备的使用(以主机为例)

设备必须要用目录来对设备中的内容进行读取,所以设备在使用时需要作挂载动作

#设备挂载
blkid  识别可用设备  
mount  设备 挂在点  ##设备的挂载
 
把系统中第二块硬盘的第一个分区挂载到/mnt目录上

mount /dev/sdb1 /mnt



只读挂载第二块硬盘的第一个分区挂载到/mnt目录上

mount -o ro /dev/sdb1 /mnt


在设备被使用时更改设备的挂载参数为rw
mount -o remount,rw /mnt|/dev/sdb1


#设备卸载
umount 设备|挂在点
umount /dev/sdb1 | /mnt
#注意:当卸载设备时出现下列情况
[root@foundation0 ~]# umount /dev/sdb1
umount: /home/kiosk/Desktop/photo: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))     ##表示设备正在被某个程序使用

使用进程发现的方式
fuser -vm /dev/sdb1
lsof /dev/sdb1


使用进程结束的方式
kill -9 pid
fuser -kvm /dev/sdb1|/mnt/ 
## k->kill  v->显示  m->扫描设备


卸载后,因为是强制卸载,所以设备里会存在未知文件,ls显示后rm删除即可



4.分区管理
主分区:分区表内的分区,只有4个
扩展分区:以逻辑分区的方式来使用,包含多个逻辑分区
逻辑分区:扩展分区里的分区

##设备分区信息##
1)mbr主引导记录446个字节   ##引导读取分区
2)mpt主分区表64个字节      ##记录分区信息
3)硬盘的有效性标识“55aa”2个字节
4)一个主分区占用16个字节记录分区信息
5)一块硬盘上如果用mbr的分区最多可以存在4个主分区

##分区的添加
[root@server13 ~]# 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   #删除分区
   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   #新建分区
   o   create a new empty DOS partition table
   p   #显示分区表信息
   q   #退出
   s   create a new empty Sun disklabel
   t   #修改分区id
   u   change display/entry units
   v   verify the partition table
   w   #将当前操作写入硬盘操作
   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): 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): +100M   ##分区结束块的位置,用+大小的方式确定
Command (m for help): wq  ##保存分区策略并退出fdisk界面

结果:


cat /proc/partitions   ##查看设备是否被系统识别


mkfs.xfs /dev/vdb1     ##格式化设备,在设备上安装系统xfs  (必须格式化,不然无法挂载设备


blkid                  ##查看可用设备,可以看到被格式化好的/dev/vdb1
mount /dev/vdb1 /mnt   ##挂载设备,使设备投入使用


##设备永久挂载


vim /etc/fstab   ##设备挂载策略文件

设备         挂载点       文件系统类型      挂载参数     是否备份设备       是否检测设备


例:
/dev/vdb1    /mnt           xfs         defaults        0                 0


mount -a    ##让fstab中未生效的策略生效


##删除分区
umount /dev/vdb1
fdsik /dev/vdb1

:wq  ##一定要记得退出保存


5.swap分区管理
swap 交换分区,系统自己使用,不需要挂载
1)swap分区的查看
[root@server13 ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/vdb1                                  partition    102396    0    -1


2)swap分区的建立(先建立一个分区,不用挂载,再修改id
(1)划分分区,并修改分区的id为swap
fdisk /dev/vdb  建立分区
  Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400  83  Linux
  ##默认情况下,此分区是linux系统的普通分区


Command (m for help): t   ##修改分区的id
Selected partition 1
Hex code (type L to list all codes): l    #列出所有id类型代码
Hex code (type L to list all codes): 82   ##把/dev/vdb1的分区类型修改为swap,swap类型代码为82
Changed type of partition 'FAT12' to 'Linux swap / Solaris'

Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     2050047     1024000   82  Linux swap / Solaris


Command (m for help): wq


mkswap /dev/vdb1  ##格式化为swap文件系统格式
swapon -a /dev/vdb1  ##激活swap设备,使系统利用此设备


vim /etc/fstab   ##让此设备开机自动激活
/dev/vdb1        swap        swap    defaults        0 0



##当磁盘全部被占满时,不能新建分区时,可以用文件来代替分区

 dd if=/dev/zero of=/swapfile bs=1M count=100M

#此文件创建后的步骤和设备的步骤一致

 mkswap /swapfile   ##格式化
 swapon -a /swapfile   ##挂载
 swapon -s   ##查看
Filename                Type        Size    Used    Priority
/dev/vdb1                                  partition    102396    220    -1
/swapfile                                  file    1023996    0    -2


#swap分区的删除

 swapoff /swapfile   ##卸载

 fdisk /dev/vdb   ##d 删除挂载
 rm -fr /swapfile ##删除文件
 vim /etc/fstab   ##删除开机配载


6.磁盘配额
为磁盘使用用户分配配额,分区配额时正对于设备
1)激活设备配参数
 mount -o usrquota /dev/vdb1 /mnt/
 chmod 777 /mnt/
 edquota -u student /dev/vdb1


 Filesystem                   blocks           soft       hard         inodes        soft        hard
  /dev/vdb1                    204800          0          204800       1                 0           0
                         已存在文件大小    软额度   最大额度     文件个数    软额度   最大额度   


检查:

[student@localhost ~]$ dd if=/dev/zero of=/mnt/mm bs=1M count=201
dd: error writing ‘/mnt/mm’: Disk quota exceeded    ##超过配额限制
201+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.817757 s, 256 MB/s

                                              

##分区方式修改(需要将原来建立的分区删掉
mbr------>gpt

[root@localhost ~]# 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?   ##双击tab键出现类型                                                     
aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun    
New disk label type?
aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun    
New disk label type? gpt|msdos     ##把原有的dos标签改成gpt格式 | 把gpt改为mbr的
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                                                             
Information: You may need to update /etc/fstab.


更改回来:



7.分区加密
1)建立分区
[root@localhost ~]# fdisk /dev/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 0x116b0279.

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):
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1000M
Partition 1 of type Linux and of size 1000 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: 0x116b0279

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     2050047     1024000   83  Linux

Command (m for help): wq
The partition table has been altered!

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

2)cryptsetup luksFormat /dev/vdb1   ##加密


3)cryptsetup open /dev/vdb1 westos  ##开启


4)mkfs.xfs /dev/mapper/westos       ##格式化
5) mount /dev/mapper/westos /mnt/   ##挂载
    touch /mnt/file{1..4} 
      ##开启之后看见创建的内容


6)umount /mnt                  ##用完后卸载

   cryptsetup close westos      ##关闭之后看不见创建的内容

 
7)cryptsetup open /dev/vdb1 westos  ##用时,须再次打开
   mount /dev/mapper/westos /mnt/   ##挂载,之后才能看见


##加密设备开机自动挂载
vim /etc/fstab  ##开机自起

/dev/mapper/westos     /mnt       xfs     defaults        0 0


vim /etc/crypttab  ##写名字及寻找密码
westos   /dev/vdb1  /root/passfile



vim /root/passfile  ##写密码
2017westos



chmod 600 /root/passfile    ##设置权限  
cryptsetup  luksAddKey /dev/vdb1 /root/passfile  ##设置设备开机时与密码关联


##加密的清除
umount /dev/mapper/westos  ##卸载
cryptsetup close westos    ##关闭设备
mkfs.xfs /dev/vdb1 -f      ##格式化


vim /etc/fstab             ##删除开机自启
vim /etc/crypttab          ##删除名字
vim /root/passfile         ##删密码







展开阅读全文

没有更多推荐了,返回首页