- 磁盘
1.1 磁盘结构
磁盘的两种单位:
a. 扇区(sector):最小的物理存储单位,512 Bytes
b. 磁柱面(cylinder):有扇区组成的圆,分区的最小单位
第一个sector(512 Bytes):
- 主启动记录(MBR,Master Boot Record) , 446 Bytes, 安装启动管理程序
- 分区表(Partition Table), 64 Bytes, 记录磁盘分区状态
1.2 分区的概念
分区操作:是对64 Bytes分区表进行的配置
- 磁盘最多支持4个分区
- 两种分区类型:主分区(Primary),扩展分区(Extended)
- 分区的最小单位是柱面(cylinder)
- 系统读写磁盘时,先参考分区表,后才能根据分区进行数据处理
- 扩展分区:使用额外的磁区来记录分区信息,本身不能被格式化
Primary, Extended, Logical分区:
- 主分区和扩展分区最多四个
- 扩展分区最多一个
- 逻辑分区由扩展分区分割得到,分区编号从5号开始
- 只有主分区和逻辑分区可以被格式化
- IDE扩展分区最大分区号63,SATA扩展分区最大分区号15
1.3 硬件文件名
硬件 文件名
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB /dev/sd[a-p]
软盘 /dev/fd[0-1]
鼠标 PS2: /dev/psaux
光驱 /dev/cdrom
当前鼠标 /dev/mouse
磁带机 IDE: /dev/ht0
SCSI: /dev/st0
- 分区操作
2.1 磁盘分区
fdisk -l /dev/hda
fdisk /dev/sda
2.2 磁盘格式化:
mkfs -t ext3 /dev/sda1
mke2fs [-b block size 1024/2048/4096] [-i inode size] [-L label] [-cj] device
mke2fs -j -L “vbird_logical” -b 2048 -i 8192 /dev/hdc6
2.3 磁盘检查
fsck -C -f -t ext3 /dev/sda1
mke2fs -c /dev/sda1
2.4 内存置换空间(swap)
mkswap /dev/sda1
swapon /dev/sda1
free
swapon -s
swapoff /dev/sda1
文件方式swap
dd if=/dev/zero of=/tmp/swap bs=1M count=128
mkswap /tmp/swap
swapon /tmp/swap
ls -s: size in block
du -s: summary size
2.5 大磁盘分区,支持2TB以上
parted /dev/sda print
创建一个500M的逻辑分区
parted /dev/sda mkpart logical ext3 19.2GB 19.7GB
删除第八个分区
parted /dev/sda rm 8
- 挂载
3.1 挂载点(mount point)
- 将文件系统和目录结合的操作,叫做挂载
- 挂载点必须是目录,该目录为进入文件系统的入口
- 根目录(/)的inode一般为2
- 文件系统和挂载目录应该一一对应
- 挂载点目录应该为空目录,如果有文件存在,挂载时会被清空
- 根目录/必须被挂载
3.2 配置启动挂载
/etc/fstab: 系统启动时,需要fsck和mount的磁盘
- 设备名或设备Label /dev/sda5或者LABEL=/1
- 挂载点(目录) / 根目录
- 硬盘分区的文件系统 ext3
- 挂载参数 defaults,具有rw, suid, dev, exec, auto, nouser, async等参数
- 能否被dump备份指令作用 1 (0:不做dump备份, 1:每天进行dump备份, 2:不定期dump备份)
- 是否以fsck检验磁区: 1 (0:不检验,1:最早检验,2:晚于1检验)
根目录:1, 1
特殊目录: 0, 0 (/proc, /sys)
普通目录:根据实际要求
3.3 记录已挂载的文件系统,mount和umount会刷新
/etc/mtab
/proc/mounts
3.4 ext2、ext3磁盘挂载:
mkdir /mnt/hda6
mount /dev/hda6 /mnt/hda6
mount -l
3.5 cd/dvd挂载:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
mount -o loop linux.iso /mnt/cdrom
3.6 格式化挂载软盘:
mkfs -t vfat /dev/df0
mkdir /mnt/floppy
mount -t vfat /dev/fd0 /mnt/floppy
3.7 挂载闪存:
mkdir /mnt/usb
mount -t vfat /dev/sda1 /mnt/flash
3.8 挂载smab
mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare
3.9 挂载nfs
mount -t nfs 10.137.5.44:/home/abc /mnt/nfs
3.10 卸载
umount -f /oracle
问题:umount: device is busy.
1)lsof
lsof /tellin
kill -9 10320
umount /tellin
- fuser
fuser -m /tellin
fuser -m -i -v -k /tellin
umount /tellin