首页 > 代码库 > 作业六

作业六

第九章在线学习地址:http://study.lishiming.net/chapter9.html

额外的知识点学习:

1. RAID 相关知识学习 http://www.lishiming.net/thread-5479-1-1.html

2. Linux 下LVM 管理 http://www.lishiming.net/thread-5480-1-1.html 

3. 如何区别NAS、SAN与DAS  http://www.lishiming.net/thread-5481-1-1.html

4. 如何在linux下挂载ISO镜像文件  http://www.lishiming.net/thread-751-1-2.html

5. 增加磁盘的inode数 http://www.lishiming.net/thread-620-1-2.html

6. Linux 系统下查看raid信息,以及磁盘信息 http://www.lishiming.net/thread-379-1-3.html

7. linux下如何分大于2T的磁盘分区 http://www.lishiming.net/thread-5489-1-1.html
8. df和fdisk查看到的磁盘大小为什么不一样  http://www.aminglinux.com/bbs/thread-6802-1-1.html

9. tmpfs大小是内存的一半 http://www.aminglinux.com/bbs/thread-6803-1-1.html

练习题答案



1. 请查资料了解这些术语:/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别?
/dev/hda, /dev/hdb是IDE接口硬盘的块文件。/dev/hda表示第一块IDE磁盘,/dev/hdb表示第二块IDE磁盘。
/dev/sda, /dev/sdb是SCSI接口硬盘的块文件。/dev/sda表示第一块SCSI磁盘,/dev/sdb表示第二块SCSI磁盘。

2. 为什么 du -b /etc/passwd  和 du -k  /etc/passwd  所得到的结果不一致呢?按道理讲1024b 等于 1k 阿铭的 /etc/passwd 为 1181b 而 使用k为单位表示它竟然是 4k. 
因为默认格式化磁盘的块大小是4096字节即4K,即使是一个很小的文件也会分得一个块大小为4k。du -b则会以文件大小的b单位来统计,所以结果不一致。

3. 请查资料,了解磁盘的这些概念: heads, sectors, cylinders.
磁头(heads): 磁头固定在可移动的机械臂上,用于读写数据。现代硬盘都是双面可读写,因此磁头数量等于盘片数的2倍。磁头数最大值为 255 (8 个二进制位)。用第几磁头可以表示数据在哪个磁面。
扇区(sectors): 从磁盘中心向外画直线,可以将磁道划分为若干个弧段。每个磁道上一个弧段被称之为一个扇区。扇区是硬盘的最小组成单元,通常是512字节。磁道上的扇区数最大为63(6个二进制位)。
柱面(cylinders): 所有磁片中半径相同的同心磁道构成“柱面"。柱面数最大为1023 (10个二进制位)。柱面是磁盘分区的最小单位。

4. 请计算磁盘分区的时候,每一个柱面空间是多大? 阿铭的第二块磁盘是8589 MB (8589934592 bytes),总共有1044个柱面。
柱面空间大小=磁头数*每磁道扇区数*扇区大小=255*63*512(bytes)=8225280 bytes

5. 查资料了解ide和scsi接口的磁盘有什么不一样,scsi 磁盘(sda, sdb)最多可以分多少个逻辑分区(这个了解即可)?
SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。
关于最多可以分多少个逻辑分区的问题,了解即可。

6. 把磁盘格式化成ext4文件系统时,如果指定块大小并不是 1024 2048 4096 会发生什么?指定块大小最小是多少,最大又是多少?
当格式化文件系统时,如果指定块大小不是1024、2048、4096这几个标准值,会出现下面几种情况:
    (1)当指定块小于1024时,则提示错误“无效的块大小”,不能格式化。
    (2)当指定块大于1024且小于2048时,则实际以1024的块大小进行格式化。
    (3)当指定块大于2048且小于4096时,则实际以2048的块大小进行格式化。
    (4)当指定块大于4096且小于或等于65536时,则提示块值太大,是否继续,选择y继续,则以不大于指定块的4K的整数倍值(从4K到32K)进行格式化。
    (5)当指定块大于等于65536时,则提示块值太大,是否继续,选择y继续,则以65536字节进行格式化。
    (6)当指定块大于65536时,则提示错误“无效的块大小”,不能格式化。

7. 如何查看当前系统里各个分区都是什么类型的文件系统?
mount 或者 df -T

8. /dev/zero 和 /dev/null 在linux系统中是什么文件,有什么作用?
/dev/zero 是一个造零器,它可以源源不断的提供0,它可以用于向设备或文件写入字符串0,可以用它来创建一个指定长度用于初始化的空文件,比如临时交换文件等。
/dev/null  它是空设备,也称为位桶(bit bucket),任何写入它的输出都会被抛弃。常用来禁止标准输出和标准错误的输出。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。

9. Linux下df 和 du 两个命令主要用来做什么?
df 查看磁盘分区和文件系统信息
du 查看目录或文件所占用的磁盘空间大小

10. 在Linux系统下,用什么命令为一个新磁盘分区呢?又用什么命令格式化磁盘?
fdisk 为新磁盘分区,可以使用mkfs.ext2、mkfs.ext3、mkfs.ext4、mke2fs等命令格式化磁盘。

11. 如果不能使用mount 挂载磁盘时,我们需要使用什么命令获取相关错误信息?
dmesg

12. 当卸载某个磁盘或者分区时,报错: “umount: /newdir: device is busy.” 我们如何做?
报这个错,可能是因为当前用户在/newdir目录下,可以先退出这个目录来,也可以使用命令 umount -l /newdir

13. 如何获取某个分区的UUID?
blkid 

14. 如何使用dd命令生成一个大小为500M的文件?
dd if=/dev/zero of=/bigfile bs=1024K count=500

15. 查看内存大小的命令是? 如何以M为单位显示?
free -m

16. 如何查看各文件系统的inode数使用情况?
df -i

17. 使用vmware虚拟机分配一块1G的虚拟磁盘,并使用fdisk 分区工具给新加的磁盘分3个主分区,分别200M,然后再分3个逻辑分区,分别100M.
fdisk /dev/sdb 回车后,先按n,按p,输入1,再输入1,再输入+200M;按n,按p,输入2,再回车,再输入+200M;按n,按p,输入3,再回车,再输入+200M;按n,按e,接着按两次回车;按n,接着回车,输入+100M;按n,接着回车,输入+100M;按n,接着回车,输入+100M;

18. 给磁盘分区的时候,最多可以分几个主分区,最多可以分几个扩展分区,扩展分区和逻辑分区的关系时什么?
最多4个主分区,最多一个扩展分区,只有划分了扩展分区后,才可以在扩展分区内划分逻辑分区,也就是说逻辑分区是在扩展分区内的。

19. 我使用fdisk -l /dev/sdb 查看磁盘分区状况的时候,发现有这么几个分区: sdb1, sdb3, sdb5, sdb6, sdb7, 那么请推算一下,这个磁盘,共有几个主分区和几个逻辑分区?
一个主分区,三个逻辑分区(sdb5,sdb6,sdb7)

20. 有什么方法可以查看某个分区格式化时指定的块大小为多少(1024,2048,4096)?
有两种方法:
第一个是个笨方法,touch 1; echo 1 > 1; du -sh 1  看看1的大小事几k,是1k块大小就是1024,2k块大小就是2048,4k块大小就是4096
第二个方法是,tune2fs -l /dev/sda1 |grep ‘Block size‘


作业六