linux 基本的存储管理

基本的存储管理:分区、格式化、挂载
MBR分区方式:fdisk     //一般针对2TB以下的分区
GPT分区方式:parted     一般针对>2TB

MBR(Master Boot Record,主引导记录),它位于硬盘的0柱面、0磁头、1扇区。
就是我们常用的分区方式,最大支持2.19TB(2的32次方*512byte),可以划分4个主分区或3个主分区+1个扩展分区。
GPT,即GUID Partition Table。GPT对分区数量没有限制,GPT支持18EB。

RHEL5:
IDE /dev/hd*
SCSI,SATA,USB /dev/sd*
RHEL6:
IDE,SCSI,SATA,USB /dev/sd*
HP:
/dev/cciss/c0d0
/dev/cciss/c0d0p1 //c0:第一个控制器,d0第一块磁盘, p1分区1
/dev/cciss/c0d0p2
===== MBR分区 =====
1. 查看新设备是否发现
# ll /dev/sd*   //查看
#  fdisk -ul   //u以扇区的方式查看,redhat6 已不能用柱面查看

2. 分区
# fdisk -u /dev/sda //分区
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
按n,起点默认就行, 终点可以设置,例如+2G,再回车就行, 按t改变id,保存得按w,不保存,按q
#  partx -a /dev/sda   //让内核刷新分区表,最好多刷两遍,及时刷新。redhat5下还可用partprobe命令刷新。如:# partprobe /dev/sda
# ll /dev/sd*

3. 格式化(创建文件系统)
Windwos: FAT,FAT32,NTFS
Linux: VFAT,Ext2,Ext3,Ext4,GFS,GFS2

mkfs.ext3 /dev/sda6     //这一步是指定类型为ext3
Block size=4096 (log=2)
Fragment size=4096 (log=2)
244320 inodes, 488281 blocks
24414 blocks (5.00%) reserved for the super user
# mkfs.ext3 /dev/sda7

4. 挂载
建立挂载点
# mkdir /mnt/disk1        //建立挂载点,因为挂载点必须是空目录
# mkdir /mnt/disk2
挂载
===手动:
# mount  -t ext3 -o ro,noexec  /dev/sda6 /mnt/disk1             //-o 指定选项  如: -o ro 只读 ,-o rw 可读写 ,-o noatime 不更新atime  (网站文件)
# mount -o ro,noexec /dev/sda6 /mnt/disk1    //这条同上 
# mount /dev/sda7 /mnt/disk2  //默认

[root@station230 ~]# df -Th
文件系统      类型    容量  已用 可用 已用% 挂载点
/dev/sda2     ext3     19G  4.4G   14G  25% /
/dev/sda3     ext3     19G  5.0G   13G  28% /var
/dev/sda1     ext3    487M   16M  446M   4% /boot
tmpfs        tmpfs   1009M     0 1009M   0% /dev/shm
/dev/sda6     ext3    1.9G   35M  1.8G   2% /mnt/disk1
/dev/sda7     ext3    2.8G   69M  2.6G   3% /mnt/disk2

[root@station230 ~]#  mount          //查看挂载情况,也能显示权限情况
/dev/sda6 on /mnt/disk1 type ext3 (ro,noexec)
/dev/sda7 on /mnt/disk2 type ext3 (rw)

=== 开机自动挂载
vim /etc/fstab     //更改这个配置文件,能够开机自动挂载
/dev/sda6               /mnt/disk1              ext3    defaults        0 0
UUID="60a2dfee-c7d7-44a3-882c-e13df4e77976" /mnt/disk2 ext3 defaults    0 0
/root/rhel5.8.iso       /mnt/iso             iso9660    defaults,loop   0 0           //自动挂载光盘镜像iso

//defaults是默认,下面有讲解, 最后的两个0,第一个的位置是备份,第二个是检测,0表示关闭 ,可以设置1,2开启并设置了顺序
六个域,分别为:<file system>、<mount point>、<type> 、<options>、<dump>、<pass>
<dump>。此处为1的话,表示要将整个<fie sysytem>里的内容备份;为0的话,表示不备份。现在很少用到dump这个工具,在这里一般选0。
<pass>。这里用来指定如何使用fsck来检查硬盘。如果这里填0,则不检查;挂载点为 / 的(即根分区),必须在这里填写1,其他的都不能填写1。
   如果有分区填写大于1的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字的同时检查。
   比如第一和第二个分区填写2,第三和第四个分区填写3,则系统在检查完根分区后,接着同时检查第一和第二个分区,然后再同时检查第三和第四个分区。
  
mount -a   // 不想重启时再读这个文件,就手动让它读一下
# df  -Th

========================================================
小知识:挂载时可以使用
设备名 /dev/sda6          //这个不太可靠,用也可以
卷标LABEL sda6           
UUID       //# blkid /dev/sda6 查看指定设备的UUID,UUID是唯一的,相当于身份证号
...
========================================================

增加交换分区:
1. 查看现有的交换分区(是否处于激活状态)
[root@station230 ~]# free -m
                  total       used       free     shared    buffers     cached
Swap:         8001          0       8001
[root@station230 ~]#  swapon -s      这个也是一种查看交换分区的方法
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       8193108 0       -1

2. 建立交换分区
/dev/sda8       109111776   124736776     7812500+  82  Linux swap / Solaris
# partx -a /dev/sda

3. 格式化成交换分区
mkswap /dev/sda8     //这个命令和上面的格式化不一样哦
4. 激活,开机自动挂载
[root@station230 ~]#  swapon /dev/sda8 //激活交换分区# swapon -a 激活所有
[root@station230 ~]#  swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       8193108 0       -1
/dev/sda8                               partition       7812492 0       -2
[root@station230 ~]# vim /etc/fstab       //让其永久生效
/dev/sda8               swap                    swap    defaults        0 0

使用dd创建的文件:
# dd  if =/dev/cdrom  of=/rhel5_8.iso       //i input  o output
# dd </dev/cdrom >/rhel5_8.iso         //用到了输入输出重定向
# dd  if=/dev/zero  of=/a.img  bs=1M count=100      //zero是0,用这个填充一个空间,相当于从根/下扣出100M给/a.img

[root@station5 ~]#  mkswap /a.img      //将/a.img格式化成了一个swap分区
Setting up swapspace version 1, size = 104853 kB
[root@station230 ~]# swapon /a.img       //激活 /a.img
[root@station230 ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       8193108 0       -1
/dev/sda8                               partition       7812492 0       -3
/a.img                                  file            102392  0       -4
[root@station230 ~]# vim /etc/fstab
/a.img               swap                    swap    defaults,loop        0 0

======GPT分区方式:parted     >2TB====
1. Use the parted tool to access the partition table of the device:
# parted /dev/sdj <==               //<==这里表示输入的东西
Using /dev/sdj
Welcome
2. 
(parted) mklabel <==  首次对该硬盘进行分区时,因为会destroy数据
Warning: The existing disk label on /dev/sdj will be destroyed and all data on this
disk will be lost. Do you want to continue?
Yes/No? Yes   <==
New disk label type? [gpt]? gpt <==
(parted)
3. (parted) print <==
Model: Linux device-mapper (dm)
Disk /dev/sdj: 5662310.4MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags

4. (parted) mkpart primary 0 5662310.4MB <==
5. 
(parted) print <==
Model: Linux device-mapper (dm)
Disk /dev/mapper/VolGroup00-gpttest: 5662310.4MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 5662310.4MB 5662310.4MB primary
(parted) quit    <==
Information: Don't forget to update /etc/fstab, if necessary.
6. You can now create a filesystem on the device /dev/sdj1
mkfs.ext3  /dev/sdj    <==
========================================================
使用ISO文件:iso文件可以刻录光盘,在Windows也可以打开,而且文件不容易坏
1.  将光盘制作成iso
# dd if=/dev/cdrom of=/rhel5_8.iso
# dd </dev/cdrom >/rhel5_8.iso

2.  将文件制作成iso ,例如将/etc制作成etc.iso,mkisofs命令
#  mkisofs -o /var/etc.iso -r /etc        //做成镜像,mkisofs -o  目标文件名 -r 源文件名
[root@station230 ~]# ll /var/etc.iso 
-rw-r--r-- 1 root root 114098176 11-01 14:12 /var/etc.iso
[root@station230 ~]# 
[root@station230 ~]# file /var/etc.iso 
/var/etc.iso: ISO 9660 CD-ROM filesystem data 'CDROM                          '

3. 使用iso,挂载
[root@station230 ~]#  mount -o loop /var/etc.iso /mnt/iso/
[root@station230 ~]# mount /var/etc.iso /mnt/iso/   -o loop   //同上条等价

===挂载选项:
# mount -t ext3  -o ro,noexec  /dev/sda6 /mnt/disk1      //优盘一般挂载只读不执行权限
# mount -o ro,noexec /dev/sda6 /mnt/disk1       // 一般-t都不加就能
# mount /dev/sda7 /mnt/disk2  //默认
# mount --bind olddir newdir  //将文件夹挂载到文件夹
# man mount

defaults:
rw, suid, dev, exec, auto, nouser,and async.
ro  只读
noauto  不自动挂载
noexec  不允许执行二制文件
noatime  不更新访问时间
usrquota 支持用户磁盘配额功能
grpquota 支持组磁盘配额功能
remount  重新挂载  这种可以在不卸载掉的前提下再挂载,配置文件文件也同步了
# mount -o remount /mnt/disk1     *********

acl   支持acl
两种方法支持
A、设置默认挂载选项
[root@station5 ~]#  tune2fs -l  /dev/sda2      //系统自动设置的挂载选项包含acl的
Default mount options:    user_xattr acl
[root@station230 ~]# tune2fs -l /dev/sda6 查看文件系统信息,自己创建的分区没有acl了
Default mount options:    (none)
[root@station230 ~]#  tune2fs -o acl /dev/sda6    修改默认挂载选项,添加acl功能
[root@station5 ~]# tune2fs -l /dev/sda6 | grep 'Default'
Default mount options:    acl
[root@station230 ~]#  tune2fs -o ^acl /dev/sda6   取消acl选项
[root@station5 ~]# tune2fs -l /dev/sda6 | grep 'Default'
Default mount options:    (none)

B、在挂载时,使用acl选项
   1.[root@station5 ~]#  mount -o acl,remount,usrquota  /dev/sda6
   [root@station5 ~]# mount
   /dev/sda6 on /mnt/disk1 type ext3 (ro,noexec,acl,usrquota)
     [root@station5 software]#  setfacl -m u:rose:rw  /mnt/disk1
     [root@station5 software]#  getfacl  /mnt/disk1
     getfacl: Removing leading '/' from absolute path names
       # file: mnt/disk1
       # owner: root
       # group: root
       user::rwx
       user:rose:rw-
       group::r-x
       mask::rwx
       other::r-x
  2.[root@station5 software]# vim /etc/fstab 
   /dev/sda6               /mnt/disk1              auto     defaults,acl        0 0
   [root@station5 software]# mount -o remount /mnt/disk1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值