ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 跟我一起做实验之linux NAS

跟我一起做实验之linux NAS

原创 Linux操作系统 作者:眼镜男 时间:2009-07-02 20:31:35 0 删除 编辑

今天我们来做个NAS实验。先来介绍下NAS概念。

NAS(Network Attached Storage:网络附属存储)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。按字面简单说就是连接在网络上, 具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。

在做这个实验之前,我们需要具备以下基础知识,如果有不清楚的地方,请先找一些资料补充一下,否则一会你就会。。。。。。
1。理解Raid的概念,并且会做软Raid.      2 。LVM逻辑盘卷管理 3.。网络文件系统,这里我们使用的是ftp文件共享服务。4。文件权限的使用。5。磁盘配额。

这个实验综合运用了很多的linux的基础知识,所以有不清楚的地方,一定要好好的复习一下。下面我们一起来做实验吧。

首先我查看下我的硬盘分区情况:

[root@localhost ~]# fdisk -l

Disk /dev/hda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          29      232911   83  Linux
/dev/hda2              30        1686    13309852+  83  Linux
/dev/hda3            1687        1817     1052257+  82  Linux swap / Solaris

总共分了三个分区,两个主分区一个交换分区,这时我要加一个扩展分区。因为我要在扩展分区的基础上,继续分出6个区用于做raid。

[root@localhost ~]# fdisk /dev/hda
The number of cylinders for this disk is set to 1958.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          29      232911   83  Linux
/dev/hda2              30        1686    13309852+  83  Linux
/dev/hda3            1687        1817     1052257+  82  Linux swap / Solaris

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e                                                  //添加扩展分区
Selected partition 4
First cylinder (1818-1958, default 1818):
Using default value 1818
Last cylinder or +size or +sizeM or +sizeK (1818-1958, default 1958):
Using default value 1958

Command (m for help): p

Disk /dev/hda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          29      232911   83  Linux
/dev/hda2              30        1686    13309852+  83  Linux
/dev/hda3            1687        1817     1052257+  82  Linux swap / Solaris
/dev/hda4            1818        1958     1132582+   5  Extended

Command (m for help): n
First cylinder (1818-1958, default 1818):
Using default value 1818
Last cylinder or +size or +sizeM or +sizeK (1818-1958, default 1958): +100M

Command (m for help): n
First cylinder (1831-1958, default 1831):
Using default value 1831
Last cylinder or +size or +sizeM or +sizeK (1831-1958, default 1958): +100M

Command (m for help): n
First cylinder (1844-1958, default 1844):
Using default value 1844
Last cylinder or +size or +sizeM or +sizeK (1844-1958, default 1958): +100M

Command (m for help): n
First cylinder (1857-1958, default 1857):
Using default value 1857
Last cylinder or +size or +sizeM or +sizeK (1857-1958, default 1958): +100M

Command (m for help): n
First cylinder (1870-1958, default 1870):
Using default value 1870
Last cylinder or +size or +sizeM or +sizeK (1870-1958, default 1958): +100M

Command (m for help): n
First cylinder (1883-1958, default 1883):
Using default value 1883
Last cylinder or +size or +sizeM or +sizeK (1883-1958, default 1958): +100M

Command (m for help): p

Disk /dev/hda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          29      232911   83  Linux
/dev/hda2              30        1686    13309852+  83  Linux
/dev/hda3            1687        1817     1052257+  82  Linux swap / Solaris
/dev/hda4            1818        1958     1132582+   5  Extended
/dev/hda5            1818        1830      104391   83  Linux
/dev/hda6            1831        1843      104391   83  Linux
/dev/hda7            1844        1856      104391   83  Linux
/dev/hda8            1857        1869      104391   83  Linux
/dev/hda9            1870        1882      104391   83  Linux
/dev/hda10           1883        1895      104391   83  Linux
Command (m for help): w
The partition table has been altered!

蓝色的分区就是我新添加的六个分区。


[root@localhost ~]# partprobe /dev/hda //别忘了刷新分区表

下面是通过mdadm这条命令做raid5设备,我将六个分区中的三个用来做md0,

另外的三个用来做md1.这里有一点注意要注意的是划分分区的的时候,大小最好相等,否则只会根据最小的分区算,浪费空间了。至于这条命令的参数意义,如果不清楚,请man 一下好了

[root@localhost ~]# mdadm -C /dev/md0 -l 5 -n 3 /dev/hda{5,6,7}
mdadm: array /dev/md0 started.

查看我们做好的raid设备md0
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Fri Jul  3 23:24:15 2009
     Raid Level : raid5
     Array Size : 208640 (203.78 MiB 213.65 MB)
    Device Size : 104320 (101.89 MiB 106.82 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jul  3 23:24:27 2009
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : de80a3e1:e28d0770:7a4f094e:622fa608
         Events : 0.2

    Number   Major   Minor   RaidDevice State
       0       3        5        0      active sync   /dev/hda5
       1       3        6        1      active sync   /dev/hda6
       2       3        7        2      active sync   /dev/hda7

同理我们在做个Raid 5 md1设备,不过在做md1之前,先要创建块个块设备。因为默认情况下,/dev/目录下只有md0.这里要有一点要注意,在没有用mdadm创建raid之前,md0,md1只是一个普通的设备。只是我们在做raid的时候需要这样的块设备,明白了吧。下面这条命令就为我们创建了块设备,注意设备号不要搞错。

[root@localhost ~]# mknod /dev/md1 b 9 1

查看一下是否创建成功

[root@localhost ~]# ll /dev/md*
brw-r----- 1 root disk 9, 0 Jul  3 22:49 /dev/md0
brw-r--r-- 1 root root 9, 1 Jul  3 23:26 /dev/md1

创建另一个raid5

[root@localhost ~]# mdadm -C /dev/md1 -l 5 -n 3 /dev/hda{8,9,10}

接下来我我们要用md0和md1创建两个物理卷。

pvcreate /dev/md0

pvcreate /dev/md1

通过vgcreate创建卷组。

[root@localhost ~]# vgcreate nas /dev/md{0,1}
  Volume group "nas" successfully created

//显示一下卷组
[root@localhost ~]# vgdisplay nas
  --- Volume group ---
  VG Name               nas
  System ID            
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               400.00 MB
  PE Size               4.00 MB
  Total PE              100
  Alloc PE / Size       0 / 0  
  Free  PE / Size       100 / 400.00 MB
  VG UUID               ZDtEbQ-0aaP-ArMK-mnZc-A4ma-xdPA-yiso5s

//创建逻辑卷。
[root@localhost ~]# lvcreate -L 300M -n nas1 nas
  Logical volume "nas1" created
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/nas/nas1
  VG Name                nas
  LV UUID                PNmoKH-iiq8-PSj2-1mTT-Lhl0-fZgA-ruwlus
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                300.00 MB
  Current LE             75
  Segments               2
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0

//注意别忘了格式化,就像我们的分区一样创建完了,要进行格式化。
[root@localhost ~]# mkfs.ext3 /dev/nas/nas1

这里我们要在/etc/目录下添加个配置文件,这个不用我们手动建立,我们可以拷贝一份模板到这个目录下,按照里面的注释该就好了

cp /usr/share/doc/mdadm-2.5.4/mdadm.conf-example /etc/mdadm.conf

vim /etc/mdadm.conf

下面的就是我在配置加的内容。注意UUID要用下面这个命令生成

[root@localhost ~]# mdadm -D /dev/md0 | grep UUID
           UUID : de80a3e1:e28d0770:7a4f094e:622fa608
[root@localhost ~]# mdadm -D /dev/md1 | grep UUID
           UUID : 92c5c5e1:b7e81b92:7f8e723d:be00f501

DEVICE /dev/hda5 /dev/hda6 /dev/hd7 /dev/hda8 /dev/hda9 /dev/hda10

ARRAY /dev/md0 UUID=de80a3e1:e28d0770:7a4f094e:622fa608
ARRAY /dev/md1 UUID=92c5c5e1:b7e81b92:7f8e723d:be00f501
ARRAY /dev/md0 devices=/dev/hda5,/dev/hda6,/dev/hda7
ARRAY /dev/md1 devices=/dev/hda8,/dev/hda9,/dev/hda10

注意为了我们要在/etc/udev/devices/目录下创建md1块设备。因为我们在下次开机的时候就会提示找不到md1设备,为了能自动创建块设备。所以我们要在这里创建一个块设备。

首先进入/etc/udev目录用 mkdir devices创建目录,在进入devices目录下,用

 mdadm -C /dev/md1 -l 5 -n 3 /dev/hda{8,9,10}创建块设备,这样下次开机的时候就不会提示找不到md1了。

为了开机的时候能自动将我们的逻辑卷挂在到NAS目录,我们需要编辑

 vim /etc/fstab。不过别忘了如果没有创建NAS目录请创建这个目录啊,这里我是在根目录下创建的NAS目录。

在/etc/fstab文件中加入

/dev/mapper/nas-nas1    /NAS                    ext3    defaults        0 0

今天先讲到这里,明天继续

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21996817/viewspace-608208/,如需转载,请注明出处,否则将追究法律责任。

上一篇: test
请登录后发表评论 登录
全部评论

注册时间:2009-06-28

  • 博文量
    30
  • 访问量
    31810