Disques

De OpenWikiBSD
Aller à : navigation, rechercher

Les disques

A savoir

La dénomination des disques ressemble assez à celle du Kernel Linux:
La première lettre correspond à la logique de l'interface : w pour IDE (h sous GNU/Linux) et s pour SCSI.
La seconde lettre correspond au type de lecteur :d pour disque.
Le troisième caractère, un chiffre correspond au numéro du disque sur le contrôleur, en commençant à 0 pour le premier.

Le second disque du premier contrôleur SCSI sera donc sd1, tandis que le premier disque du premier contrôleur IDE sera wd0

Enfin les partitions (qu'elles soient primaires ou ......logiques.....)sont intégrées à cet identifiant (Ce qui n'est pas le cas sous GNU/Linux) sous forme d'une lettre. Attention, la lettre c est réservée et représente l'intégralité du disque (même pas seulement la partition A6..)

/dev/wd0c sera donc le premier disque dur IDE, tandis que /dev/wd0a sera la première partition du premier disque IDE.

Attention, à part la partition c, toutes les autres sont vues DANS la partition OpenBSD, y compris le swap.Regardez dans la photo du disque, n'apparait qu'une seule partition OpenBSD, alors que j'ai :
wd0a pour /
wd0b pour le swap
wd0d pour /var

Interface
Périphérique
Numéro du Périphérique
Partition [dans la partition OpenBSD]
w (IDE)
d (disque)
0 (premier)
a (première)
s (SCSI)
1 (second)
b (seconde)
f (floppy)
2 (troisième)
c (Tout le disque)
c (CDROM)
n (n+1 ème)
d (troisième)


Problèmes disques en UDMA

La gestion matérielle de l'UDMA IDE est assez instable, c'est pourquoi Microsoft la désactive par défaut sur ses OS. OpenBSD tente au contraire d'accéder aux disques dans le plus haut mode DMA possible et redescend d'un cran (UDMA puis DMA puis PIO) jusqu'à arriver à un mode stable. Au passage vous verrez sur la console root apparaître les messages suivants :

wdXy: aborted command, interface CRC error reading fsbn 64 of 64-79 (wd2 bn 127; cn 0 tn 2 sn 1), retrying

Le multiBoot

MBR complet pour un disque IDE 20Go

HD 1 (128) 19,077M [ 2,432 cyls x 255 heads x 63 sects = 39,070,080 sects ] (1 secteur = 512 octets, divisez par 2 pour avoir le résultat en ko)


Numéro

Type

Système
Cylindre
Tête
Secteur
Cylindre
Tête
Secteur
Taille (ko)
MBR
Master Boot Record
1
1
1
Pri
Unused
2
63
31
2
>Pri 1
Windows NT NTFS
1
1
521
254
63
4,192,933
3
Pri 2
Unknown (OpenBSD (0xA6)
522
1
904
254
63
3,076,447
4
Pri 3
Linux
905
1
1,262
254
63
2,875,635
5
Pri 4
VFAT Extended LBA
1,263
1
2,431
254
63
9,389,992
6
-Log
Linux swap
1,263
1
1
1,294
254
63
257,008
7
--Ext
Extended
1,295
1
1,296
254
63
16,065
8
-- Log
Boot Manager (Interface Ranish PM)

1,295
1
1
1,296
254
63
16,033
9
-- Ext
Extended
1,297
1
2,431
254
63
9,116,887
10
-- Log
Windows FAT-32 LBA
1,297
1
1
2,431
254
63
9,116,85


A6 correspond au type de partition de OpenBSD (82 pour e2fs de Linux et 83 pour le swap Linux), non encore reconnu par part.exe.

Attention, les partitions OpenBSD, ainsi que le swap sont intégrées à cette fameuse partition de type A6.

Vérification des disques

MBR complet pour un disque IDE 20Go

HD 1 (128) 19,077M [ 2,432 cyls x 255 heads x 63 sects = 39,070,080 sects ] (1 secteur = 512 octets, divisez par 2 pour avoir le résultat en ko)

Numéro

Type

Système
Cylindre
Tête
Secteur
Cylindre
Tête
Secteur
Taille (ko)
MBR
Master Boot Record
1
1
1
Pri
Unused
2
63
31
2
>Pri 1
Windows NT NTFS
1
1
521
254
63
4,192,933
3
Pri 2
Unknown (OpenBSD (0xA6)
522
1
904
254
63
3,076,447
4
Pri 3
Linux
905
1
1,262
254
63
2,875,635
5
Pri 4
VFAT Extended LBA
1,263
1
2,431
254
63
9,389,992
6
-Log
Linux swap
1,263
1
1
1,294
254
63
257,008
7
--Ext
Extended
1,295
1
1,296
254
63
16,065
8
-- Log
Boot Manager (Interface Ranish PM)

1,295
1
1
1,296
254
63
16,033
9
-- Ext
Extended
1,297
1
2,431
254
63
9,116,887
10
-- Log
Windows FAT-32 LBA
1,297
1
1
2,431
254
63
9,116,85


A6 correspond au type de partition de OpenBSD (82 pour e2fs de Linux et 83 pour le swap Linux), non encore reconnu par part.exe.

Attention, les partitions OpenBSD, ainsi que le swap sont intégrées à cette fameuse partition de type A6.

Soft updates

Comme (à ma connaissance) tous les OS modernes, les accès disques en écriture se font d'abord en cache (RAM), puis sur le disque lors des périodes de moindre activité. Toujours en développement, les Soft Updates consistent en un réarrangement des données dans ce cache en RAM avant écriture sur le disque. Il en résulte une augmentation sensible de l'accès disque, certaines opérations voyant leur célérité multipliée par 60 ! (Sur Certaines Opérations).
De plus, la journalisation des systèmes de fichiers (XFS, ext3, ReiserFS,.. sous Linux) est un énorme progrès, en particulier lors des redémarrages difficiles après coupure brutale d'alim, par exemple. Vous passez de plusieurs dizaines ou centaines de minutes à quelques minutes lors de la vérification du filesystem. Alors, attention, les sofupdates n'est pas un système de fichier journalisé ! Selon un article fort détaillé,les avantages de l'activation des softupdates sont nombreux. Je n'en retiens qu'un : la rapidité d'un redémarrage après plantage hard.
Les softupdates ne sont pas activés par défaut, il faut ajouter dans /etc/fstab la mention ,sofdep à la fin des options du disque considéré :

/dev/wd0a / ffs rw,softdep 1 1 Ceci ne sera effectif qu'au prochain redémarrage

Ca c'est pour la théorie, car, en pratique, l'option est activée par défaut à l'installation.

Accéder au lecteur de cdrom

Si le lecteur de cdrom est vu comme cd0a, et que le système de fichier sur le CD est de l'iso9660, on a, après avoir créé le répertoire /cdrom accessible à tout le monde :

mount -t cd9660 /dev/cd0a /cdrom (Il faut que le répertoire /cdrom existe)
Cette commande est équivalente à la commande /usr/mount_cd9660 /dev/cd0a /cdrom

puis lorsque plus personne ne l'utilise (aucun accès, même un shell vers /cdrom ) : umount /dev/cd0a

Monter un disque

Booter à partir de la disquette (voir [Disquette.htm ici] pour créer une disquette bootable), puis monter le disque dur si on peut encore le monter.
mount -t ffs -o rw /dev/wd0a /mnt (j'utilise /mnt comme point de montage).
-o rw pour le monter en read write.

Monter une image ISO

Vous désirez copier vos CD de données sur un serveur afin de les partager dans un LAN ou seulement pour vous. Attention à la place disque..<

 vnconfig svnd0 /tmp/ISO.image
 mount -t cd9660 /dev/svnd0c /mnt

Votre image ISO est disponible sous /mnt.

Vous n'avez plus qu'à la partager par NFS, SMB ou ce que vous voulez.
umount /mnt
vnconfig -u svnd0
On démonte et on libère les ressources.


Etendre une partition

Zut, j'ai mal calculé l'espace des mes partitions, il y en a une trop petite et l'autre trop large...
Supposons qu'on veuille etendre /var. Le Web pousse...

- D'abord, on fait des backup de tout....
- Ensuite, on vérifie ses backups.
- Il va falloir tout casser...
- On démarre en mode single user.
- On copie les données qque part.
- On démonte les 2 partitions.
- Un coup de disklabel
- Un coup de newfs
- on remonte.
- On recopie les fichiers à l'envers.

Rajouter un nouveau disque

Vous devez déclarez la nouvelle partition OpenBSD. Attention, la commande suivante dédie le disque à OpenBSD.

fdisk -i sd1

Maintenant, vous allez créer un disklabel.

disklabel -E sd1

Enfin, vous allez formater la partition que vous venez de créer.

newfs sd1a

voilà, il ne vous reste plus qu'à rajouter une ligne dans le fichier /etc/fstab

du type:
/dev/sd1a /mon-nouveau-répertoire ffs rw,nodev,nosuid 1 2
Ma partition le point de montage le système de fichier montée en écriture, sans device, sans binaire setuid l'ordre des tests,
sachant que / doit etre en 1 1


Ne pas oublier de créer le répertoire mkdir /mon-nouveau-repertoire.


OpenBSD sur une carte Compact Flash

Beaucoup de sites expliquent très précisément comment faire cette installation et pourquoi la faire.

J'ai fait beaucoup plus simple :

  • Une machine virtuelle VMWare sans disque dur
  • Un lecteur USB de CF
  • Une CF de 2Go (kingston)
  • Un câble série-série (null-modem)
  1. On démarre la VM tout en débranchant puis rebranchant le lecteur USB afin qu'il soit reconnu par la VM.
  2. On fait une install normale de OpenBSD (sans swap néanmoins)

A faire avant de redémarrer

  • L'interface vic0 sous VMWare devient sis0 sur la soekris
mv hostname.vic0 hostname.sis0
  • Branchée sur son adaptateur USB, la CF est vue en /dev/sd1 et la partoche racine comme /dev/sd1a.

Mais une fois branchée sur le soekris, elle est reconnue en IDE : /dev/wd1 et /dev/wd1a


perl -pi -e 's/sd1/wd1/' /etc/fstab

Sinon, au boot vous aurez

Can't open /dev/rsd1a: Device not configured
CAN'T CHECK FILE SYSTEM.
/dev/rsd1a: UNEXPECTED INCONSISTENCY; RUN fsck_ffs MANUALLY.
Automatic file system check failed; help!
Enter pathname of shell or RETURN for sh:
  • Si vous avez déja passé l'étape suivante, il faut mettre un peu les mains dans le cambouis :

donc au boot de la CF :

root on wd0a swap on wd0b dump on wd0b
Automatic boot in progress: starting file system checks.
Can't open /dev/rsd1a: Device not configured
CAN'T CHECK FILE SYSTEM.
/dev/rsd1a: UNEXPECTED INCONSISTENCY; RUN fsck_ffs MANUALLY.
Automatic file system check failed; help!
Enter pathname of shell or RETURN for sh:
<ENTER>
mount -o rw /dev/wd0a /
vi /etc/fstab
<Changer sd1a en wd0a>
reboot


  1. on éteint la VM
  2. On insère fébrilement la CF dans le soekris
  3. Sur la linuxette :minicom sera un bon outil (params 9600 8N1)
  4. On boote la soekris et c'est parti....
com0: 9600 baud
switching console to com0C
[ using 595232 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2008 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.3 (GENERIC) #698: Wed Mar 12 11:07:05 MDT 2008
    deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by National Semi ("Geode by NSC" 586-class) 267 MHz
cpu0: FPU,TSC,MSR,CX8,CMOV,MMX
cpu0: TSC disabled
real mem  = 133787648 (127MB)
avail mem = 121327616 (115MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 20/70/08, BIOS32 rev. 0 @ 0xf7840
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0x9000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Cyrix GXm PCI" rev 0x00
sis0 at pci0 dev 6 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, address 00:00:24:c8:
nsphyter0 at sis0 phy 0: DP83815 10/100 PHY, rev. 1
sis1 at pci0 dev 7 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, address 00:00:24:c8:
nsphyter1 at sis1 phy 0: DP83815 10/100 PHY, rev. 1
sis2 at pci0 dev 8 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, address 00:00:24:c8:
nsphyter2 at sis2 phy 0: DP83815 10/100 PHY, rev. 1
gscpcib0 at pci0 dev 18 function 0 "NS SC1100 ISA" rev 0x00
gpio0 at gscpcib0: 64 pins
"NS SC1100 SMI" rev 0x00 at pci0 dev 18 function 1 not configured
pciide0 at pci0 dev 18 function 2 "NS SCx200 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 1: <CF CARD 2GB>
wd0: 1-sector PIO, LBA, 1935MB, 3964464 sectors
wd0(pciide0:0:1): using PIO mode 4, DMA mode 2
geodesc0 at pci0 dev 18 function 5 "NS SC1100 X-Bus" rev 0x00: iid 6 revision 3 wdstatus 0
ohci0 at pci0 dev 19 function 0 "Compaq USB OpenHost" rev 0x08: irq 11, version 1.0, legacy support
isa0 at gscpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS
gpio1 at nsclpcsio0: 29 pins
gscsio0 at isa0 port 0x15c/2: SC1100 SIO rev 1:
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
usb0 at ohci0: USB revision 1.0
uhub0 at usb0 "Compaq OHCI root hub" rev 1.00/1.00 addr 1
biomask fbe5 netmask ffe5 ttymask ffe7
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
Automatic boot in progress: starting file system checks.

Je perds la connexion minicom à chaque fois..


Vous êtes prêts à faire un tunnel VPN avec IPSec.