磁盘管理:
/dev
块设备   b
字符设备   c

磁盘设备的接口类型:
 IDE :hd
 SCSI
 SATA:sd  串口   命名[a-z]
 SAS  串口
 USB
     
        MBR:
           446:引导程序
           64:磁盘分区表;4个主分区,一个扩展分区+3个主分区
           2:
 
 IDE: /dev/hda
 
 SCSI
 SATA
 SAS
 USB: /dev/sd
e2label  设定卷标 

查看当前系统下的磁盘分区:cat /proc/partitions
 
VFS: 虚拟文件系统

ext
reiserfs
xfs
jfs
ffs
ufs


fdisk命令  支持最多15个分区

如何查看当前系统上的磁盘分区:
blocks name
fdisk -l   查看当前系统下被识别的所有磁盘设备及其对应的磁盘分区的列表

inode   节点  放在元数据表  inode table

df -i   查看磁盘分区上,所有inode

什么是目录:
/

/:inode-->inode table-->data block-->var:inode-->inode table-->var:data block-->log:inode-->inode table-->log:data-->block-->message:inode-->indoe table-->message:data block

挂载、卸载:
    实现挂载 

磁盘分区:
    fdisk /dev/sda
    d   删除分区
    l   列出已知分区的类型
    n   新建一个磁盘分区
    p   显示当前磁盘上的分区情况
    t   改变一个分区的类型/标示
    w   保存并分区
    q   放弃所有修改并退出

划分成逻辑分区

partprobe /dev/sda


mkfs   建立文件系统(格式化)
    -t fstype /dev/sda5
  
mkfs -t fstype = mkfs.fstype

#mkfs -t ext3 /dev/sda5
#mkfs .ext3 /dev/sda5

mke2fs    建立文件系统
   -j     制定创建的是mke2fs
   -L   ( e2lable /dev/sda5 查看  新建卷标+名称 )   指定卷标
   -b   (1024|2048|4096)  制定磁盘块大小  单位bit
   -i   byte/inode ratio  
   -N   100000  
   -m   默认为5  表示5%的磁盘空间   给管理员预留空间
   -c   完全格式化   扫描每一个扇区

e2lable  /dev/device


tune2fs
  -j   ext2--》exit3   直接升级功能  不能降级
  -l   /dev/sda5   
  -L   label       修改卷标
  -i   N[d|m|n]
  -c   20      挂在卸载来回20次之后   开始自检  0/-1  表示不让检测
  -m           格式化完成之后调整百分比
  -o           用于设定此文件系统挂载选项
 
dumpe2fs /dev/device

blkid 
   UUID 显示磁盘分区的唯一标示符
   TYPE

ext2和ext3比,ext3有日志功能,自检提供方便


挂载:mount [option] [-o option] [-t fstype] /dev/device /mount_point
 
mount /dev/sda5 /mnt/data
          -t fstype   指定对应设备上的文件类型
          -r         
          -w
          -rw
          -n    不显示挂载记录,就是说不更新/etc/mtab文件
          -o    指定挂载设备的类型   
              ro  
              rw
              exec    
              auto     此设备能否被自动挂载
              nouser   禁止普通用户挂载此设备
              async    异步数据写入
              loop    mount -o loop /root/rhci.iso /mnt/cdrom
              remount,acl   /dev/sda8  /mnt    重新挂载
           -a    /etc/fstab     自动挂载
      
卸载:umount /dev/device
      umount /mount_point

eject  使光盘自动挂载并

两种自动挂载机制:开机自动挂载,/etc/fstab;
/dev/device  mount_point  fatype mount_option dump self-check

/etc/mtab      追踪当前文件的实时挂载记录
                  按需自动挂载,autofs

fuser -v /mount_point
fuser -km /mount_point

虚机内存就是交换分区:swap   模拟内存使用,是一个独立分区,不能放在别的分区上,

创建交换分区:  mkswap /dev/device

swapon /dev/device
      -a  
/dev/sdb1 -L MYSWAP

swapoff /dev/device  关闭交换分区


cp   文件级别
dd  磁盘复制,磁盘镜像,位级别
dd 
   if=    初始化
   of=    回环
   bs=1K  一次复制多大的数据,默认为字节
   count=10   一共复制多大的文件

/dev/null   数据黑洞
/dev/zero   往外吐数字,要多少有多少

RAID  廉价冗余磁盘阵列

子层:
     硬件设备:内存
     软件设备:md

磁盘接口类型:
IDE
SCSI

bios  标准输入输出系统

RAID  级别   表示各硬盘之间的组织方式
0 :条带卷   提供并行存取的能力,
1:  镜像卷   实现冗余,空间利用率低,写入速度很差
4            提供冗余,
5           
6   容错两块硬盘
1+0  
0+1

基于软件的RAID
使用mdadm命令开始创建Radi0
  mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda5 /dev/sda6
     -A   
     -C    
     -F     监控模式
     -G     增长模式
     -d     管理模式,只对
     -C     创建模式
       -a  yes
       -l
       -n   设备个数
       -x   指定空闲磁盘
     MANAGE
     -v
     -s

mdadm  -f
       -r
       -a
   -S
   -AS

cat /proc/mdstat
  
编写一个脚本实现以下功能:假如脚本名称为sc.sh 则要求以bash sc.sh 5G ext3 /mydata y 格式进行传递参数
                      磁盘设备:

     5G 表示分区大小
                           ext3表示格式化为ext3类型的文件系统
                           /mydata表示为挂载点
                           y|n表示是否实现开机自动挂载
 1、自动创建一个分区,大小为用户指定的。
 2、根据用户指定的文件系统类型进行格式化。
 3、将刚才创建的分区以只读的方式挂载到/mydata下。
 4、实现开机自动挂载