现在的位置: 首页 > 综合 > 正文

原创:linux添加scsi硬盘笔记

2013年01月09日 ⁄ 综合 ⁄ 共 3668字 ⁄ 字号 评论关闭

http://hi.baidu.com/zheng918/blog/item/cbb7abec8b06342262d09fe7.html

   历经艰辛才拿到一个申请的scsi硬盘,不是缺少盘架,就是盘架用了1950的,最后差点没脾气了,d1750还需要专门的螺丝,dell一点都不问系统管理员着想,不断郁闷后,才有以下向debian(linux)添加新scis硬盘的过程,和大家share一下吧。

硬盘的安装过程:
1、将硬盘连接到计算机上;
2、格式化硬盘
3、为硬盘添加卷标以及对硬盘进行分区;
4、建立逻辑卷;
5、在硬盘分区中创建Linux文件系统;
6、设置自动安装机制;
7、在交换分区中设置交换机制。(这次没用到)
对于硬盘的权限,应该严格进行设定:一般来说,应该做到允许属主(root用户)有这个文件的读写权限,同时允许组属主有读权限。

    大体过程像上面所示,描述一下我的添加过程吧。由于我的机器已经严重空间不足了,它既是监控机,又是备份机器,同时又是扫描机器,还有那个可恶的nessus要安装,而它的plugins就占用了好几百兆的空间,deb包默认安装在/opt目录下,我又不想用源码再弄一个,所有就想资产管理员申请了一个新的scsi硬盘,36G的,为了nasl,不容易啊。

    我的计划是这样的,先将硬盘划出2G空间给/opt用,再给某个用户目录下用去10G的空间,剩下的分区好,暂时先不挂载。

    这次的硬盘是在hp的机器退下来的,要添加到dell1750的机器上,艰难的换了盘架后,需要执行echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi 的语句,我是将第二块硬盘加入机器中,所以第三个参数2,复习上面参数
echo "scsi add-single-device x y z u" > /proc/scsi/scsi
其中:
x是硬盘所在SCSI控制器号(一般机器就一个SCSI控制器,所以就是0);
y是硬盘所在SCSI通道的编号(一般单通道的就是0,多通道的要看是哪个通道了);
z是硬盘的SCSI ID号(可以通过具体插入的硬盘插槽来判断);
u是硬盘的lun号(默认情况都是0)

然后用fdisk -l或者cat /proc/partitions可以看到类似的信息
Disk /dev/sdb: 36.4 GB, 36419584000 bytes
255 heads, 63 sectors/track, 4427 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
证明添加成功了,因为我这个是退下来的盘,所以要先格式化,再去分区,如果先分区,再格式化,最后挂载也一样的。

# mke2fs /dev/sdb
很快就格式化完成。

按照计划,给/opt目录2G空间,所以先分sdb的第一个主分区1G,剩下都是扩展分区。第一个扩展分区为2G,然后其他的灵活分配

# fdisk /dev/sdb
按下m键显示它的所有命令,因为我需要新添加分区,所以使用n(详细的看里面说明,这里不细说),
这个步骤是必须的,不懂看man文档吧,这是最好的资料库。

这里复习一下linux下分区的有关知识:
按下n或者new后,fdisk出现以下命令提示
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
  
Linux中规定,每一个硬盘设备最多能有4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。而逻辑分区的存在是为了分区更加的灵活,但不能用来作为操作系统的引导。
下面的例子是,因为主分区号是1-4,可以看出/dev/sda1是主分区用来作为启动用的,而/dev/sda2作为扩展分区,/dev/sda5...9就是逻辑分区,它是建立在/dev/sda2扩展分区上,也就是逻辑的总和等于扩展分区了,事实上没有什么分别,为了突破只有4个主分区,才有逻辑分区这个灵活的东东,很明显,以下是一个主分区/dev/sda1和扩展分区/dev/sda2 ,其他的逻辑分区就建立在/dev/sda2上了,这个需要可以随意。
/dev/sda1   *           1          66      530113+ 83 Linux
/dev/sda2              67        4427    35029732+   5 Extended
/dev/sda5              67         328     2104483+ 82 Linux swap / Solaris
/dev/sda6             329         590     2104483+ 83 Linux
/dev/sda7             591         721     1052226   83 Linux
/dev/sda8             722        1374     5245191   83 Linux
/dev/sda9            1375        4427    24523191   83 Linux
-----------------------------------------------------------------
接着上面的命令:
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4427, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427): +500M
这里有个技巧,直接+500M,分出500M空间了,不用自己去算的所谓的柱面了。然后用p,可以看到分区的结果:
Command (m for help): p

Disk /dev/sdb: 36.4 GB, 36419584000 bytes
255 heads, 63 sectors/track, 4427 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id System
/dev/sdb1               1          62      497983+ 83 Linux

继续分出扩展分区,在建立在它之上的逻辑分区,分好区后,要记得用w命令,才会将分区信息写入磁盘的。注意,一定要将所有扩展分区中的信息分给逻辑分区后,才正常,要不文件系统会出错的。
# mount /dev/sdb5 /opt/
gz-10:/mnt# df -lh
Filesystem            Size Used Avail Use% Mounted on
/dev/sda1             510M 217M 267M 45% /
tmpfs                1015M     0 1015M   0% /lib/init/rw
udev                   10M   80K   10M   1% /dev
tmpfs                1015M 4.0K 1015M   1% /dev/shm
/dev/sda9              24G   16G 7.5G 68% /home
/dev/sda7            1012M   34M 979M   4% /tmp
/dev/sda8             5.0G 2.2G 2.5G 47% /usr
/dev/sda6             2.0G 354M 1.6G 19% /var
/dev/sdb5             1.9G 2.9M 1.8G   1% /opt

当然我根据自己实际的需要的挂载了,此时还少了一个步骤,就是自动挂载问题了,你不想每次启动机器都要挂一次吧,/etc/fstab,添加自动挂载规则,也可以根据实际需要吧。提醒一下,建立虚拟内存用mkswap /dev/sd[a-d][1-16]格式为swap的文件格式。

最后添加硬盘的命令简化为:
1.echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi
2.fdisk /dev/sdb
3.mke2fs /dev/sdb1
4.mount /dev/sdb1 /"any directory you have created"
5、修改/etc/fstab

终于可以在/opt下安装nessus的deb包了,^_^ 。这些都是老东西了,牛人跳过,记录下来,希望对有需要的人有所帮助。

抱歉!评论已关闭.