Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 9 del 03/12/2007 16.29.51

Nascondi questo messaggio

BR

Introduzione

Questa pagina è dedicata a chi è intenzionato a creare un raid1 (o raid0) tramite l'impiego di controller integrati sulle schede madri e di software per la creazione di un software raid.

Hardware

Per prima cosa diamo uno sguardo all'Hardware su cui ho implementato il raid dopo lunghe ed estenuanti ricerche:

  1. Scheda Madre Asus A8V con controller raid Promise20378.

  2. Due hard disk sata Uguali della Seagate da 250 Gb

La mancanza di un controllore (in questo caso il Promise) che creasse automaticamente un array che, oltre a controllare la consistenza tra i due hard disk, permettesse la formazione di un raid1 (mirroring) o di un raid0 (Striping) in modalità hardware, ha portato alla scelta di costruire un software raid o meglio un fake raid.

Prerequisiti

Per prima cosa si deve impostare il controller raid come attivo e avviabile; per fare questo è necessario entrare nel bios della scheda madre, premendo o il tasto Del, come nel caso della Asus o una serie di tasti, Alt+F2, ecc.. ecc.. dipende dalla vostra scheda madre. Una volta entrati nell'utility di gestione delle istruzioni basilari di input/output ci si sposterà nella sezione avanzata, e qui si attiverà il chip. Infine prima di uscire e salvare le modifiche, nella sezione di Boot si imposterà l'elenco di oggetti che partono in questa maniera:

  1. Floppy
  2. Lettore cd/dvd
  3. Controller Raid

Fatto questo si può salvare e uscire dal bios. Avviando a questo punto il computer appariranno una serie di schermate che danno lo stato di tutte le periferiche collegate alla scheda madre; si arriverà a un certo punto in cui comparirà una nuova schemata (abilitata dall'attivazione del chip Promise) in cui si chiederà di premere una serie di tasti, nel caso della promiseCtrl+F, per poter accedere al programma di configurazione del Fake raid. Una volta entrati chiederà che cosa fare, creare un array raid, cancellarlo oppure uscire. Ovviamente questa è la prima volta che si accede e quindi lo scopo è crearlo. Si sceglierà di creare un Raid1 (il cui scopo è il mirroring ossia la salvaguardia dei dati) e si definiranno i drive interessati in questa configurazione. L'altra opzione disponibile è la formazione di un Raid0 (il cui scopo è lo striping ossia la velocità a discapito della perdita di dati). Se tutte le cose sono andate per il meglio si potrà finalmente uscire dall'utility e il computer verrà riavviato. A questo punto nella schermata in cui ci veniva chiesto di eventualmente creare un raid comparirà una scritta indicando il tipo di raid creato e lo stato (functional). Finalmente si può iniziare l'installazione del sistema operativo.

Installazione

Nell'installazione qui proposta si è partiti dalla versione alternate 32 bit (i discorsi fatti per questa versione sono analoghi a quella a 64 bit). Una volta avviato il cd premere F2 in modo da selezionare la lingua italiana e poi si seleziona Installazione per sistemi Oem. Come prima cosa comparirà una nuova schermata in cui, se riconosciuta, la scheda di rete cercherà di collegarsi a un server DHCP. Qualora il router non fosse configurato con un DHCP impostate manualmente l'indirizzo ip della Scheda di rete.

Finito questo passo Ubuntu chiederà come dovrà esser installato ossia su quale partizione. A questo punto è necessario abbandonare l'installazione scegliendo con il tasto Tab il pulsante Indietro in modo da giungere a una schermata con presenti le voci del progresso dell'installazione. Si sceglierà Avvia Terminale e con questa scelta abbandoneremo per il tempo necessario l'installer per poter creare il raid software. la schermata che ci si presenterà dinnanzi è simile alla seguente:

~# 

Questo ci farà capire che abbiamo aperto un terminale di Root.

Si proceda ora col partizionamento: digitare nel terminale il comando per vedere che partizioni sono presenti:

~#fdisk -l

La cui risposta sarà del tipo

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00007ae5

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00007ae5

a questo punto si può iniziare a partizionare il disco sda. Quindi nel terminale:

~#fdisk /dev/sda

Questo darà come risposta:

The number of cylinders for this disk is set to 30515.
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): 

se si sceglie m come opzione si otterrà questa schermata:

   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
Command (m for help): 

Si vuole creare una nuova partizione quindi la scelta sarà n:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)

Si vuol creare una partizione primaria quindi p, e ci verrà chiesto di dare il numero della partizione; la scelta sarà 1. ora sarà necessario dare le dimensioni della prima partizione dal cilindro 1 a circa 30 gb di spazio. questa partizione verrà contrassegnata come sda1. Il lavoro con fdisk è quasi ultimato, è necessario ancora editare l'id della partizione e scrivere le modifiche della stessa; per fare questo digitare t e scegliere come id fd:

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): L

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot   
 1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 2  XENIX root      39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx         
 6  FAT16           42  SFS             86  NTFS volume set da  Non-FS data    
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS access     
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor      
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT        
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid auto
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep        
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT            
1c  Hidden W95 FAT3 75  PC/IX          

Per ultimare le operazioni scriviamo le modifiche sulla tabella partizioni con w e automaticamente fdisk uscirà a terminale. Le partizioni scelte per questo sistema sono le seguenti:

  • sda1 =31 Gb
  • sda2=200 Gb
  • sda3= 900 Mb

Per replicare le medesime partizioni sul disco sdb da terminale:

~#sfdisk -d /dev/sda | sfdisk /dev/sdb

A questo punto è necessario creare i drive “virtuali” per cui:

~#modprobe md 

poi tramite l'utility già presente nel cd alternate mdadm si possono creare le tre partizioni virtuali:

~#mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
~#mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
~#mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3

dove:

--create /dev/mdX

Crea una nuova partizione denominandola mdX

--level=1

Crea un raid di tipo 1 (mirroring); per lo striping sostituire 1 con 0

--raid-devices=2 /dev/sdaX /dev/sdbX

Identifica i device costituenti il raid (in questo caso due) e come si chiamano all'interno della cartella/dev. Per vedere lo stato di avanzamento della creazione del raid si può usare come comando:

~#cat /proc/mdstat 

Nota: per la creazione del raid su un sistema di 250 Gb son necessari circa 100 minuti.

La decisione di creare 3 partizioni è dato dal fatto di voler suddividere il sistema in una partizione di root /, una di home /home e una di swap. Tutte queste tre partizioni devono esser duplicate su entrambi gli hard disk altrimenti si ha un inconsistenza a livello del sistema Raid1. Una volta ultimata la sincronizzazione si può uscire dalla modalità terminale per poter riprendere l'installazione del sistema. Per uscire:

~#exit

Ora come opzione si sceglierà; rilevamento dischi.

Se ogni cosa è andata per il verso giusto compariranno 9 Hard disk riconosciuti, sei dei quali sdaX, sdbX saranno volumi fisici per raid, gli altri tre, md0, md1, md2 bisognerà assegnargli le caratteristiche adesso.

  1. md0 si attribuiranno le caratteristiche di / (root) e di boot all'avvio
  2. md1 si attribuiranno le caratteristiche di /home
  3. md2 diventerà invece lo spazio di swap.

Ora si può continuare con l'installazione e di default verrà installato Ubuntu in versione server. Al riavvio del computer Ubuntu partirà e resterà in modalità terminale.

~$sudo apt-get install gnome-desktop

Inviando questo comando si installa il desktop per il sistema raid1 appena creato. Ovviamente se si preferisce Kde a Gnome basta cambiare gnome-desktop con kde-desktop.

Riferimenti

Per quanto riguarda questo tema si son trovati pochi riferimenti e spesso discordanti tra di loro. D'ogni modo questi sono i documenti da cui si è preso spunto per creare questa guida:

[http://lists.debian.org/debian-user/2005/12/msg02364.html http://www.devil-linux.org/documentation/1.0.x/ch01s05.html]

http://ubuntuforums.org/showthread.php?p=3873826

http://lists.debian.org/debian-user/2005/12/msg02364.html

http://www.messinalug.org/mediawiki/index.php/Raid_1_con_Linux


CategoryHardware