|
|
Zeile 1: |
Zeile 1: |
| = RAID Setup = | | = Installation auf Debian 12 = |
| Mein RAID<ref>https://raid.wiki.kernel.org/index.php/A_guide_to_mdadm</ref> Setup mit unterschiedlichen Disks.
| | Eine fertige grommunio Appliance ist auf Basis von S.u.S.E. erstellt und steht u.a. als ISO download zur Verfügung. Da ich derzeit ausschliesslich Debian basierte Systeme verwende, bevorzuge ich eine grommunio Installation auf Debian 12 (bookworm). |
|
| |
|
| Anforderungen:
| | Im grommunio Forum findet sich ein Diskussionsthread für die [https://community.grommunio.com/d/447-debian-11-clean-install-script grommunio Installation auf Debian 12 durch ein Script]. Diese läuft auf einer neu erstellten VM auf Proxmox Server fehlerfrei durch. In einem LXC Container gab es Probleme, u.a. klemmte der POP3 Service. |
| # Eine Disk kann ausfallen, ohne Datenverlust (bis auf den "Verschnitt" in ''vg_single'' -> Backup)
| |
| # Eine Volume Group ''vg_single'' nimmt die Partitionen auf, die in kein RAID mehr passen ("Verschnitt")
| |
| # Alle Daten auf mindestens drei unterschiedlichen Disks, soweit möglich
| |
| # Alle Daten (Dokumente und VM's) sind verschlüsselt (md3_crypt), oder
| |
| # im RAID5 (Medien: Musik und Filme) über mindestens drei Disks verteilt (vg_disk) (''cryptdisk'' möglich, aber nicht notwendig)
| |
| # Alle aktiven VM's liegen auf der einzigen verschlüsselten SSD (sdf3_crypt)
| |
| # Alle VM's haben ein Snapshot auf einer verschlüsselten Disk (md3_crypt)
| |
| # Der XEN-Host und alle VM'S können im Notfall von allen Disks (md0 oder md1) gebootet werden (auf einem beliebigen anderem Rechner, sofern ein USB-Stick mit dem dem LUKS-Key verfügbar ist)
| |
|
| |
|
| Mein Bootscript liest den [[LUKS|LUKS-Schlüssel zum Booten meines XEN-Servers auf mehreren Devices]] (USB-Sticks oder Festplatten).
| | Im Anschluss an das Installationsskript habe ich noch folgendes Script unter '''Additions''' - ''Fix Grommunio Admin Live Status page'' ausgeführt, welches ebenfalls funktionierte und die entsprechende Seite im Web Interface reparierte. |
|
| |
|
| [[Bild:XEN-Disk-Setup.jpg]]
| | = Konfiguration = |
| | Kopano Core ist bei mir als Applikation auf meinem UCS File- und Mailserver installiert. Die Benutzerkonten und deren Konfiguration werden von UCS verwaltet und stehen per LDAP zur Verfügung. |
|
| |
|
| = Austausch der 2 TB Disk durch eine neue 8 TB Disk = | | <pre># mein UCS-Kopano Server |
| | kopano_server=ucsmail |
| | echo "kopano_server=ucsmail" >> ~/.bashrc |
|
| |
|
| Wo wird die 2TB Disk verwendet?
| | # ssh connections without prompts |
| | ssh-keygen |
| | ssh-copy-id $kopano_server |
|
| |
|
| '''Welche Disk und welche RAID Verbunde sind betroffen?'''
| | # mount /var/lib/kopano/attachments per sshfs |
| <pre>
| | if [ -e /etc/debian_version ] then |
| # fdisk -l /dev/sdb
| | apt install sshfs screen |
| Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
| | else |
| Disk model: WDC WD20EFRX-68A
| | zypper in sshfs # (grommunio app/iso installation) |
| Units: sectors of 1 * 512 = 512 bytes
| | fi |
| Sector size (logical/physical): 512 bytes / 4096 bytes
| | mkdir -p /mnt/kopano_attachments |
| I/O size (minimum/optimal): 4096 bytes / 4096 bytes
| | sshfs $kopano_server:/var/lib/kopano/attachments /mnt/kopano_attachments |
| Disklabel type: gpt
| |
| Disk identifier: 1FB146D4-AEFD-1C4B-90AF-315105C08C34
| |
| | |
| Device Start End Sectors Size Type
| |
| /dev/sdb1 2048 4095 2048 1M BIOS boot
| |
| /dev/sdb2 4096 514047 509952 249M Linux RAID
| |
| /dev/sdb3 514048 1049090047 1048576000 500G Linux RAID
| |
| /dev/sdb4 1049090048 2097666047 1048576000 500G Linux RAID
| |
| /dev/sdb5 2097666048 3907029134 1809363087 862,8G Linux RAID
| |
| | |
| # cat /proc/mdstat | grep sdb | sort
| |
| md0 : active raid1 sda2[2] sdb2[1] sdf2[0]
| |
| md3 : active raid1 sde3[2](S) sda3[0] sdb3[1]
| |
| md4 : active raid5 sde4[5] sdd4[3] sdc4[2] sda4[0] sdb4[1]
| |
| md6 : active raid5 sde6[3] sda6[0] sdb5[1]
| |
| </pre>
| |
| | |
| == Disk aus RAID Verbund lösen ==
| |
| === RAID 1===
| |
| ==== md0 ====
| |
| <pre>
| |
| ### md0 : active raid1 sda2[2] sdb2[1] sdf2[0]
| |
| ### 254912 blocks [3/3] [UUU]
| |
| | |
| # mdadm /dev/md0 --fail /dev/sdb2 --remove /dev/sdb2
| |
| mdadm: set /dev/sdb2 faulty in /dev/md0
| |
| mdadm: hot removed /dev/sdb2 from /dev/md0
| |
| | |
| # mdadm --grow /dev/md0 --raid-devices=2
| |
| raid_disks for /dev/md0 set to 2
| |
| | |
| ### md0 : active raid1 sda2[1] sdf2[0] | |
| ### 254912 blocks [2/2] [UU]
| |
| | |
| ### console (dmesg)
| |
| [436568.811061] md/raid1:md0: Disk failure on sdb2, disabling device.
| |
| md/raid1:md0: Operation continuing on 2 devices.
| |
| </pre>
| |
| | |
| ==== md3 ====
| |
| <pre>
| |
| ### md3 : active raid1 sde3[2](S) sda3[0] sdb3[1]
| |
| ### 524287936 blocks [2/2] [UU]
| |
| ### bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| | |
| # mdadm /dev/md3 --fail /dev/sdb3 --remove /dev/sdb3
| |
| mdadm: set /dev/sdb3 faulty in /dev/md3
| |
| mdadm: hot removed /dev/sdb3 from /dev/md3
| |
| | |
| | |
| ### md3 : active raid1 sde3[2] sda3[0]
| |
| ### 524287936 blocks [2/1] [U_]
| |
| ### [>....................] recovery = 0.2% (1372800/524287936) finish=50.7min speed=171600K/sec
| |
| ### bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| | |
| ### console (dmesg)
| |
| [437831.642672] md/raid1:md3: Disk failure on sdb3, disabling device.
| |
| md/raid1:md3: Operation continuing on 1 devices.
| |
| [437831.681725] md: recovery of RAID array md3
| |
| [440886.670057] md: md3: recovery done.
| |
| </pre>
| |
| | |
| === RAID 5 ===
| |
| Zuerst ein Spare Device hinzufügen, bevor der RAID 5 Verbund aufgelöst wird, anschliessend die Disk entfernen.
| |
| | |
| VolumeGroup '''vg_single''' hat 1x 500GB Platz um den Spare für md4 aufzunehmen.
| |
| <pre>
| |
| # vgs
| |
| VG #PV #LV #SN Attr VSize VFree
| |
| ssd 1 17 0 wz--n- 232,62g 12,62g
| |
| vg_disk 4 2 0 wz--n- 9,38t <291,20g
| |
| vg_single 2 5 0 wz--n- 3,77t 1,03t
| |
| vm 1 8 0 wz--n- 499,98g 46,98g
| |
| | |
| # pvs
| |
| PV VG Fmt Attr PSize PFree
| |
| /dev/mapper/md2_crypt vg_disk lvm2 a-- 499,98g <291,20g
| |
| /dev/mapper/md3_crypt vm lvm2 a-- 499,98g 46,98g
| |
| /dev/mapper/sda7_crypt vg_single lvm2 a-- 68,71g 68,71g
| |
| /dev/mapper/sde7_crypt vg_single lvm2 a-- <3,71t <986,73g
| |
| /dev/mapper/sdf3_crypt ssd lvm2 a-- 232,62g 12,62g
| |
| /dev/md4 vg_disk lvm2 a-- 1,95t 0
| |
| /dev/md5 vg_disk lvm2 a-- <5,26t 0
| |
| /dev/md6 vg_disk lvm2 a-- 1,68t 0
| |
| | |
| # lvcreate -L 500G vg_single -n spare_md4
| |
| | |
| # fdisk -l /dev/vg_single/spare_md4
| |
| Disk /dev/vg_single/spare_md4: 500 GiB, 536870912000 bytes, 1048576000 sectors
| |
| Units: sectors of 1 * 512 = 512 bytes
| |
| Sector size (logical/physical): 512 bytes / 4096 bytes
| |
| I/O size (minimum/optimal): 4096 bytes / 4096 bytes
| |
| | |
| # fdisk -l /dev/vg_single/spare_md4
| |
| ### 1048576000 sectors
| |
| # fdisk -l /dev/sdb4
| |
| ### 1048576000 sectors
| |
| </pre>
| |
| | |
| ==== md4 ====
| |
| Braucht es eigentlich nicht: Zuerst ein Spare Device hinzufügen, bevor der RAID 5 Verbund aufgelöst wird, anschliessend die Disk entfernen.
| |
| | |
| Das Spare in den RAID hängen, bevor die neue Disk reinkommt bringt hier nix, denn sobald ich die alte Disk aus dem RAID5 nehme, fängt der SPARE an zu syncen. D.h. bis der Sync fertig ist, ist das RAID online, und bekommt ein Problem wenn eine weitere Disk ausfällt. Also kann ich auch gleich den RAID auf die neue Disk syncen - der RAID Verbund ist damit genauso lange ohne Redundanz wie mit einem Spare.
| |
| | |
| <pre>
| |
| ### md4 : active raid5 sde4[5] sdd4[3] sdc4[2] sda4[0] sdb4[1]
| |
| ### 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
| |
| ### bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| | |
| # mdadm /dev/md4 --add /dev/vg_single/spare_md4
| |
| mdadm: added /dev/vg_single/spare_md4
| |
| | |
| ### md4 : active raid5 dm-37[6](S) sde4[5] sdd4[3] sdc4[2] sda4[0] sdb4[1]
| |
| ### 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
| |
| ### bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| | |
| # mdadm /dev/md4 --fail /dev/sdb4 --remove /dev/sdb4
| |
| | |
| ### md4 : active raid5 dm-37[6] sde4[5] sdd4[3] sdc4[2] sda4[0]
| |
| ### 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [U_UUU]
| |
| ### [>....................] recovery = 0.0% (157824/524155904) finish=331.9min speed=26304K/sec
| |
| ### bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| </pre>
| |
| | |
| ==== md6 ====
| |
| <pre>
| |
| ## machen wir nicht, aber wenn's nötig gewesen wäre ein LV zu verkleinern (2T -> 1.5T):
| |
| ## lvresize --resizefs --size 1.5T /dev/vg_single/media3
| |
| | |
| | |
| ### md6 : active raid5 sde6[3] sda6[0] sdb5[1]
| |
| ### 1809098752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
| |
| ### bitmap: 0/7 pages [0KB], 65536KB chunk
| |
| | |
| | |
| # mdadm /dev/md6 --fail /dev/sdb5 --remove /dev/sdb5
| |
| | |
| | |
| ### md6 : active raid5 sde6[3] sda6[0]
| |
| ### 1809098752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
| |
| ### bitmap: 0/7 pages [0KB], 65536KB chunk
| |
| </pre>
| |
| | |
| == Neue Disk dem RAID Verbund hinzufügen ==
| |
| Alte 2TB (ziehe den richtigen SATA-Stecker) ausbauen, neue 8TB Disk einhängen und entsprechend partitionieren (analog der vorhandenen 8TB Disk).
| |
| | |
| === Disk Partitionieren <ref>https://wiki.ubuntuusers.de/gdisk/</ref>===
| |
| <pre>
| |
| ## Partitionslayout prüfen
| |
| # sgdisk -p /dev/sde
| |
| Disk /dev/sde: 15628053168 sectors, 7.3 TiB
| |
| Model: WDC WD80EFAX-68L
| |
| Sector size (logical/physical): 512/4096 bytes
| |
| Disk identifier (GUID): 9142152D-B739-404A-8FD0-B8053DBDAB6A
| |
| Partition table holds up to 128 entries
| |
| Main partition table begins at sector 2 and ends at sector 33
| |
| First usable sector is 34, last usable sector is 15628053134
| |
| Partitions will be aligned on 2048-sector boundaries
| |
| Total free space is 5056 sectors (2.5 MiB)
| |
| | |
| Number Start (sector) End (sector) Size Code Name
| |
| 1 2048 4095 1024.0 KiB EF02
| |
| 2 4096 514047 249.0 MiB FD00
| |
| 3 514048 1049090047 500.0 GiB FD00
| |
| 4 1049090048 2097666047 500.0 GiB FD00
| |
| 5 2097666048 5860533134 1.8 TiB FD00
| |
| 6 5860534272 7669897358 862.8 GiB FD00
| |
| 7 7669899264 15628053134 3.7 TiB 8300
| |
| | |
| | |
| ## sicherstellen dass die neue Disk wieder sde ist:
| |
| # cat /proc/mdstat | grep sde
| |
| # pvs | grep sde
| |
| # fdisk -l /dev/sde
| |
| Disk /dev/sde: 7,3 TiB, 8001563222016 bytes, 15628053168 sectors
| |
| Disk model: WDC WD80EFAX-68K
| |
| Units: sectors of 1 * 512 = 512 bytes
| |
| Sector size (logical/physical): 512 bytes / 4096 bytes
| |
| I/O size (minimum/optimal): 4096 bytes / 4096 bytes
| |
| | |
| | |
| ## Disk Partition Layout kopieren und mit neuer GUID versehen
| |
| # sgdisk -R /dev/sde /dev/sdb
| |
| The operation has completed successfully.
| |
| | |
| | |
| # sgdisk -p /dev/sde | |
| Disk /dev/sde: 15628053168 sectors, 7.3 TiB
| |
| Model: WDC WD80EFAX-68K
| |
| Sector size (logical/physical): 512/4096 bytes
| |
| Disk identifier (GUID): 9142152D-B739-404A-8FD0-B8053DBDAB6A
| |
| Partition table holds up to 128 entries
| |
| Main partition table begins at sector 2 and ends at sector 33
| |
| First usable sector is 34, last usable sector is 15628053134
| |
| Partitions will be aligned on 2048-sector boundaries
| |
| Total free space is 5056 sectors (2.5 MiB)
| |
| | |
| Number Start (sector) End (sector) Size Code Name
| |
| 1 2048 4095 1024.0 KiB EF02
| |
| 2 4096 514047 249.0 MiB FD00
| |
| 3 514048 1049090047 500.0 GiB FD00
| |
| 4 1049090048 2097666047 500.0 GiB FD00
| |
| 5 2097666048 5860533134 1.8 TiB FD00
| |
| 6 5860534272 7669897358 862.8 GiB FD00
| |
| 7 7669899264 15628053134 3.7 TiB 8300
| |
| | |
| | |
| # sgdisk -G /dev/sdb
| |
| | |
| | |
| # sgdisk -p /dev/sdb | grep GUID
| |
| Disk identifier (GUID): 996B3469-25F8-4D4E-B815-755FCF7D0BAD
| |
| </pre>
| |
| | |
| === Vorhandenen RAID Verbund erweitern ===
| |
| Die Partitionen wieder den RAID hinzufügen:
| |
| ==== vorherige RAID 1 und RAID 5 wieder herstellen ====
| |
| <pre>
| |
| # mdadm /dev/md6 --add /dev/sdb6
| |
| # cat /proc/mdstat
| |
| md6 : active raid5 sdb6[4] sde6[3] sda6[0]
| |
| 1809098752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
| |
| [>....................] recovery = 0.0% (286044/904549376) finish=105.3min speed=143022K/sec
| |
| bitmap: 2/7 pages [8KB], 65536KB chunk
| |
| | |
| | |
| # mdadm /dev/md4 --add /dev/sdb4
| |
| # cat /proc/mdstat
| |
| md4 : active raid5 sdb4[7](S) dm-35[6] sdd4[3] sdc4[2] sda4[0] sde4[5]
| |
| 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
| |
| bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| | |
| # mdadm /dev/md4 --fail /dev/vg_single/spare_md4 --remove /dev/vg_single/spare_md4
| |
| mdadm: set /dev/vg_single/spare_md4 faulty in /dev/md4
| |
| mdadm: hot removed /dev/vg_single/spare_md4 from /dev/md4
| |
| | |
| | |
| # cat /proc/mdstat
| |
| md4 : active raid5 sdb4[7] sdd4[3] sdc4[2] sda4[0] sde4[5]
| |
| 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [U_UUU]
| |
| [>....................] recovery = 1.2% (6544540/524155904) finish=62.0min speed=138952K/sec
| |
| bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| | |
| | |
| # mdadm /dev/md3 --add /dev/sdb3
| |
| mdadm: hot added /dev/sdb3
| |
| | |
| # mdadm /dev/md0 --add /dev/sdb2
| |
| mdadm: hot added /dev/sdb2
| |
| | |
| # mdadm --grow /dev/md0 --raid-devices=3
| |
| raid_disks for /dev/md0 set to 3
| |
| | |
| | |
| # cat /proc/mdstat
| |
| md0 : active raid1 sdb2[2] sda2[1] sdf2[0]
| |
| 254912 blocks [3/3] [UUU]
| |
| | |
| # dmesg
| |
| [24027.083101] md: recovery of RAID array md0
| |
| [24028.592467] md: md0: recovery done.
| |
| | |
| # cat /proc/mdstat | grep sdb | sort
| |
| md0 : active raid1 sdb2[2] sda2[1] sdf2[0]
| |
| md3 : active raid1 sdb3[2](S) sda3[0] sde3[1]
| |
| md4 : active raid5 sdb4[7] sdd4[3] sdc4[2] sda4[0] sde4[5]
| |
| md6 : active raid5 sdb6[4] sde6[3] sda6[0]
| |
| </pre>
| |
| | |
| ==== Disk-Kapazität eines RAID erweitern ====
| |
| | |
| Jetzt habe ich noch 2x Partitionen der 8TB Disk frei, die ich den vorhandenen Bereichen noch zurodnen kann:
| |
| * sdb5 mit 1.8 TB kann dem RAID md5 hinzugefügt werden -> zusätzliche '''1.8 TB''' Nettokapazität in RAID 5
| |
| * sdb7 mit 3.71 TB kann mit der Partition sde7 jetzt ein RAID 1 md7 erzeugen -> 3.71 TB jetzt durch '''RAID 1''' gesichert
| |
| | |
| | |
| Der einfache Teil:
| |
| <pre>
| |
| # pvs | grep md5
| |
| /dev/md5 vg_disk lvm2 a-- <5,26t 0
| |
| | |
| ### md5 : active raid5 sdd5[2] sda5[0] sdc5[1] sde5[4]
| |
| ### 5643902976 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
| |
| ### bitmap: 0/15 pages [0KB], 65536KB chunk
| |
| | |
| | |
| # mdadm --grow /dev/md5 --add /dev/sdb5 --raid-devices=5
| |
| mdadm: hot added /dev/sdb5
| |
| | |
| ### md5 : active raid5 sdb5[5] sdd5[2] sda5[0] sdc5[1] sde5[4]
| |
| ### 5643902976 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
| |
| ### [>....................] reshape = 0.8% (16784524/1881300992) finish=776.2min speed=40029K/sec
| |
| ### bitmap: 0/15 pages [0KB], 65536KB chunk
| |
| | |
| [100928.214940] md: reshape of RAID array md5
| |
| [154854.879387] md: md5: reshape done.
| |
| [154856.021848] md5: detected capacity change from 5779356647424 to 7705808863232
| |
| | |
| | |
| # pvresize /dev/md5
| |
| Physical volume "/dev/md5" changed
| |
| 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
| |
| | |
| # pvs | grep md5
| |
| /dev/md5 vg_disk lvm2 a-- <7,01t 1,75t
| |
| </pre> | | </pre> |
|
| |
|
| ==== Verschlüsseltes RAID erstellen ==== | | == Zertifikate == |
| Etwas aufwendiger:
| | Falls ein Server Zertifikat von UCS für den grommunio server erzeugt wurde kann das verwendet werden. |
| sde7 ist verschlüsselt (sde7_crypt) in der Volume Group sg_single eingebunden. Zusammen mit sdb7 soll ein RAID 1 erstellt werden. Da wir mit 2 Disks kein RAID 5 erstellen wollen, soll das neue RAID '''md7''' verschlüsselt (md7_crypt) werden, bevor wir es der vorhandenen Volume Group '''vg_disk''' hinzufügen. Dabei müssen die auf sde7 vorhandenen Dateien auf das neue RAID umgezogen werden.
| | Damit funktioniert die LDAP Verbindung auch zum einloggen mit starttls. |
| <pre> | | <pre> |
| ### md7 erzeugen als RAID 1 mit einer Disk (sde7 fügen wir später hinzu, nachdem wir sie freigeräumt haben)
| | cd /etc/grommunio-common/ssl |
| # mdadm --create /dev/md7 --level=1 --raid-devices=2 /dev/sdb7 missing
| | scp $kopano-server:/etc/univention/ssl/grommunio/cert.pem server-bundle.pem |
| mdadm: Note: this array has metadata at the start and
| | scp $kopano-server:/etc/univention/ssl/grommunio/private.key server.key |
| may not be suitable as a boot device. If you plan to
| | chown gromox:gromox server* |
| store '/boot' on this device please ensure that
| | chmod 660 server* |
| your boot-loader understands md/v1.x metadata, or use
| |
| --metadata=0.90
| |
| Continue creating array? yes
| |
| mdadm: Defaulting to version 1.2 metadata
| |
| mdadm: array /dev/md7 started.
| |
| | |
| ### md7 : active raid1 sdb7[0]
| |
| ### 3978944832 blocks super 1.2 [2/1] [U_]
| |
| ### bitmap: 0/30 pages [0KB], 65536KB chunk
| |
| | |
| | |
| ### md7_crypt erstellen: md7 mit LUKS verschlüsseln, und einen zusätzlichen Schlüssel hinterlegen (USB-Schlüssel)
| |
| root@corsair:~# cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y /dev/md7
| |
| | |
| WARNING!
| |
| ========
| |
| Hiermit werden die Daten auf »/dev/md7« unwiderruflich überschrieben.
| |
| | |
| Are you sure? (Type uppercase yes): YES
| |
| Geben Sie die Passphrase für »/dev/md7« ein:
| |
| Passphrase bestätigen:
| |
| | |
| ### 2x USB Sticks können die Verschlüsselung öffnen
| |
| # cryptsetup luksAddKey /dev/md7 /etc/cryptkey/usb.FSC_MEMORYBIRD
| |
| Geben Sie irgendeine bestehende Passphrase ein:
| |
| # cryptsetup luksAddKey /dev/md7 /etc/cryptkey/usb.DELL_16M
| |
| Geben Sie irgendeine bestehende Passphrase ein:
| |
| | |
| | |
| ### erstelle md7_crypt Eintrag
| |
| # echo "md7_crypt $(blkid | grep md7 | cut -d\ -f2 | tr -d \" ) /etc/cryptkey/usb.FSC_MEMORYBIRD luks,tries=3" >> /etc/crypttab
| |
| | |
| # # cryptdisks_start md7_crypt
| |
| [ ok ] Starting crypto disk...md7_crypt (starting)...md7_crypt (started)...done.
| |
| | |
| | |
| ### md7_crypt in Volume Group vg_single ergänzen
| |
| # pvcreate /dev/mapper/md7_crypt
| |
| Physical volume "/dev/mapper/md7_crypt" successfully created.
| |
| </pre>
| |
| | |
| ==== Daten eines Logical Volume auf RAID migrieren ====
| |
| Die vorhandenen Daten im ungeschützten LV (ohne RAID) sollen auf das neue verschlüsselte RAID verschoben werden.
| |
| Dazu wird die Volume Group um das neue RAID erweitert, die Daten auf das RAID verschoben.
| |
| Anschliessend wird das bisher noch "degraded RAID" mit dem vorher geleerten Device erweitert, sodass der RAID-Schutz zukünftig gegeben ist.
| |
| <pre>
| |
| # vgextend vg_single /dev/mapper/md7_crypt
| |
| Volume group "vg_single" successfully extended
| |
| | |
| # pvs | grep vg_single
| |
| /dev/mapper/md7_crypt vg_single lvm2 a-- <3,71t <3,71t
| |
| /dev/mapper/sda7_crypt vg_single lvm2 a-- 68,71g 68,71g
| |
| /dev/mapper/sde7_crypt vg_single lvm2 a-- <3,71t <486,73g
| |
| | |
| ### sde7 freiräumen und aus Volume Group entfernen
| |
| # screen pvmove /dev/mapper/sde7_crypt /dev/mapper/md7_crypt
| |
| /dev/mapper/sde7_crypt: Moved: 0,01%
| |
| | |
| | |
| # vgreduce vg_single /dev/mapper/sde7_crypt
| |
| Removed "/dev/mapper/sde7_crypt" from volume group "vg_single"
| |
| | |
| | |
| ### sde7_crypt auflösen
| |
| # cryptdisks_stop sde7_crypt
| |
| [ ok ] Stopping crypto disk...sde7_crypt (stopping)...done.
| |
| | |
| # cat /etc/crypttab | grep -v sde7_crypt > /etc/crypttab
| |
| | |
| ### sde7 zu RAID md7 hinzufügen
| |
| # mdadm --add /dev/md7 /dev/sde7
| |
| mdadm: added /dev/sde7
| |
| | |
| # cat /proc/mdstat | grep md7 -A 4
| |
| md7 : active raid1 sde7[2] sdb7[0]
| |
| 3978944832 blocks super 1.2 [2/1] [U_]
| |
| [>....................] recovery = 0.1% (4827840/3978944832) finish=483.9min speed=136862K/sec
| |
| bitmap: 26/30 pages [104KB], 65536KB chunk
| |
| </pre>
| |
| | |
| ==== RAID in andere Volume Group verschieben ====
| |
| Das RAID ''md7_crypt'' jetzt einen echten RAID Level erreicht und soll daher aus von ''vg_single'' nach ''vg_disk'' verschoben werden.
| |
| | |
| <pre>
| |
| # xen shutdown ucsmail
| |
| # lvchange -an vg_single
| |
| | |
| ### md7_crypt aus Volume Group vg_single in Volume Group vg_disk verschieben
| |
| # vgsplit vg_single vg_disk /dev/mapper/md7_crypt
| |
| Existing volume group "vg_disk" successfully split from "vg_single"
| |
| | |
| # vgs
| |
| VG #PV #LV #SN Attr VSize VFree
| |
| ssd 1 17 0 wz--n- 232,62g 12,62g
| |
| vg_disk 5 7 0 wz--n- <14,84t <3,00t
| |
| vg_single 1 0 0 wz--n- 68,71g 68,71g
| |
| vm 1 8 0 wz--n- 499,98g 46,98g
| |
|
| |
|
| # lvchange -ay vg_disk | | # Root CA |
| 7 logical volume(s) in volume group "vg_disk" now active
| | if [ -e /etc/debian_version ] then |
| | | scp $kopano_server:/etc/univention/ssl/ucsCA/CAcert.pem /usr/local/share/ca-certificates/my-custom-ca/ |
| # vorher: XEN Konfiguration anpassen vg_single -> vg_disk | | else |
| # xen create ucsmail
| | # SuSE appliance location |
| | scp $kopano_server:/etc/univention/ssl/ucsCA/CAcert.pem /etc/pki/trust/anchors/ |
| | fi |
| | update-ca-certificates |
| </pre> | | </pre> |
|
| |
|
| Volume Group ''vg_disk'' ist um 3.71 TB gewachsen, während der Verschnitt in ''vg_single'' mit nur noch 68 GB vernachlässigbar ist. Sämtliche Daten sind jetzt in einem RAID gesichert, abgesehen von ''vg_single'', die ist jetzt unbenutzt.
| | == LDAP == |
| | | Die LDAP Konfiguration kann mit dem UCS Template im Webinterface vorgenommen werden. |
| Sobald ich die nächste Disk ersetzen muss, wiederhole ich diese Prozedur.
| | Ich übernehme einige Kopano Werte: |
| Ob ich dann wieder 8 TB oder evtl. 12 TB oder 16 TB Disk kaufe wird sich zeigen, aber vermutlich reicht mir, wenn ich irgendwann 5x 8TB Bruttokapazität habe.
| |
| | |
| = Austausch der 8 TB Disk durch eine neue 8 TB Disk = | |
| | |
| Meine ältere 8TB meldet seit ein paar Tagen defekte Sektoren. Da sie erst 1 Jahr alt ist schwupps die Amazon Bestellung rausgesucht und im Support Chat die Email des smartd eingestellt, mit der Bitte um Austausch. Nach 3 Minuten hatte ich meinen Rücksendeschein und volle Preiserstattung, also gleich eine Ersatzdisk bestellt.
| |
| Dabei habe ich erstmal wieder den c't Artikel rausgekramt, welchen Typ ich bestellen muss, da bei den WD RED Disks für ein SAN ja auf den CMR Typ geachtet werden muss.
| |
| | |
| <pre> | | <pre> |
| This message was generated by the smartd daemon running on:
| | ssh $kopano_server grep -e ^ldap_uri -e ^ldap_bind -e ^ldap_search_base -e ^ldap_user_search -e ^ldap_group_search /etc/kopano/ldap.cfg |
|
| |
|
| host name: corsair
| | ldap_uri = ldap://ucsmail.domain.de:7389/ |
| DNS domain: friedrichnet.de
| | ldap_bind_user = cn=ucsmail,cn=dc,cn=computers,dc=domain,dc=de |
| | ldap_bind_passwd = xxxxxxxxxxxxxx |
| | ldap_search_base = dc=domain,dc=de |
| | ldap_user_search_filter = (kopanoAccount=1) |
| | ldap_group_search_filter = (&(kopanoAccount=1)(objectClass=kopano-group)) |
|
| |
|
| The following warning/error was logged by the smartd daemon:
| | # configure LDAP accordingly |
| | grommunio-admin ldap configure |
|
| |
|
| Device: /dev/sde [SAT], 7 Offline uncorrectable sectors
| | # test: list users |
| | | grommunio-admin ldap search |
| Device info:
| | ID Type E-Mail Name |
| WDC WD80EFAX-68LHPN0, S/N:2SGJYJWJ, WWN:5-000cca-27dc7b4d8, FW:83.H0A83, 8.00 TB
| | 2222222222-11-10111-22222-3333333333 user neobiker@neobiker.de Neobiker |
| | |
| For details see host's SYSLOG.
| |
| </pre> | | </pre> |
|
| |
|
| Wo wird die 8TB alte Disk verwendet? -> überall ;-)
| | == Email Domains und User == |
| | Debian: das Anlegen einer Domain im Web-Interface schlägt direkt fehl - "Bad Request".<br> |
| | Nicht schlimm, aber vielleicht nehme ich doch lieber die fertige Appliance auf Basis von S.u.S.E. ? |
|
| |
|
| '''Welche Disk und welche RAID Verbunde sind betroffen?'''
| | Per Kommandozeile funktioniert es jedenfalls. |
| <pre> | | <pre> |
| root@corsair:/etc# fdisk -l /dev/sde
| | domains=$(ssh $kopano_server ucr get mail/hosteddomains) |
| Disk /dev/sde: 7,3 TiB, 8001563222016 bytes, 15628053168 sectors
| | users=$(grommunio-admin ldap search) |
| Disk model: WDC WD80EFAX-68L
| |
| Units: sectors of 1 * 512 = 512 bytes
| |
| Sector size (logical/physical): 512 bytes / 4096 bytes
| |
| I/O size (minimum/optimal): 4096 bytes / 4096 bytes
| |
| Disklabel type: gpt
| |
| Disk identifier: 9142152D-B739-404A-8FD0-B8053DBDAB6A
| |
|
| |
|
| Device Start End Sectors Size Type
| | # create email domains |
| /dev/sde1 2048 4095 2048 1M BIOS boot
| | for domain in $domains; do |
| /dev/sde2 4096 514047 509952 249M Linux RAID
| | u_cnt=$(echo "$users" | grep -c $domain) |
| /dev/sde3 514048 1049090047 1048576000 500G Linux RAID
| | [ $u_cnt -gt 0 ] && echo grommunio-admin domain create -u $u_cnt $domain |
| /dev/sde4 1049090048 2097666047 1048576000 500G Linux RAID
| | done |
| /dev/sde5 2097666048 5860533134 3762867087 1,8T Linux RAID
| |
| /dev/sde6 5860534272 7669897358 1809363087 862,8G Linux RAID
| |
| /dev/sde7 7669899264 15628053134 7958153871 3,7T Linux filesystem
| |
|
| |
|
| root@corsair:~# cat /proc/mdstat | grep 'sde' | sort
| | # import and sync LDAP users |
| md1 : active raid1 sdc2[0] sdd2[1] sde2[2]
| | grommunio-admin ldap downsync -c |
| md3 : active raid1 sda3[0] sdb3[2](S) sde3[1]
| |
| md4 : active (auto-read-only) raid5 sdc4[2] sdd4[3] sde4[5] sdb4[7] sda4[0]
| |
| md5 : active raid5 sdc5[1] sdd5[2] sde5[4] sdb5[5] sda5[0]
| |
| md6 : active raid5 sde6[3] sdb6[4] sda6[0]
| |
| md7 : active raid1 sde7[2] sdb7[0]
| |
| </pre> | | </pre> |
| | Der Import der User funktioniert jedenfalls auch über das Webinterface. |
|
| |
|
| == Disk aus RAID Verbund lösen == | | === Export - Import via Outlook .pst === |
| | | Da ich nur 5 Konten habe, ist diese Methode auch nicht ganz abwegig: |
| === RAID 1 ===
| | * Emails |
| ==== md1 ====
| | * Kalender |
| <pre>
| | * Kontakte |
| root@corsair:~# cat /proc/mdstat | egrep -A2 'md1'
| | * Notizen |
| md1 : active raid1 sdc2[0] sdd2[1] sde2[2]
| | * usw. |
| 254912 blocks [3/3] [UUU]
| |
| | |
| # mdadm /dev/md1 --fail /dev/sde2 --remove /dev/sde2
| |
| mdadm: set /dev/sde2 faulty in /dev/md1
| |
| mdadm: hot removed /dev/sde2 from /dev/md1
| |
|
| |
|
| root@corsair:/etc# mdadm --grow /dev/md1 --raid-devices=2
| | <pre>gromox-pff2mt /tmp/neobiker_outlook.pst | gromox-mt2exm -u neobiker@neobiker.de |
| raid_disks for /dev/md1 set to 2
| |
| | |
| root@corsair:/etc# cat /proc/mdstat | egrep -A2 md1
| |
| md1 : active raid1 sdc2[0] sdd2[1]
| |
| 254912 blocks [2/2] [UU]
| |
| | |
| ### console (dmesg)
| |
| md/raid1:md1: Disk failure on sde2, disabling device.
| |
| md/raid1:md1: Operation continuing on 2 devices.
| |
| </pre> | | </pre> |
|
| |
|
| ==== md3 ==== | | === Import von Emails aus Kopano === |
| <pre>
| | Der Import landet (leider) in einem separatem Verzeichnis: |
| root@corsair:~# cat /proc/mdstat | egrep -A2 'md3'
| | [[Datei:Grommunio Import.jpg|mini]] |
| md3 : active raid1 sda3[0] sdb3[2](S) sde3[1]
| |
| 524287936 blocks [2/2] [UU]
| |
| bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| | |
| root@corsair:/etc# mdadm --grow /dev/md3 --raid-devices=3
| |
| raid_disks for /dev/md3 set to 3
| |
|
| |
|
| root@corsair:/etc# cat /proc/mdstat | egrep -A2 'md3'
| | Das ist nicht ganz das was ich mir für einen Import vorstelle: Jeder User muss alle seine Inhalte manuell auf dem Server in die Hauptverzeichnisse verschieben ... ? |
| md3 : active raid1 sda3[0] sdb3[3] sde3[1]
| |
| 524287936 blocks [3/2] [UU_]
| |
| [>....................] recovery = 2.7% (14360320/524287936) finish=46.0min speed=184437K/sec
| |
|
| |
|
| # mdadm /dev/md3 --fail /dev/sde3 --remove /dev/sde3
| | Ansonsten hat der Import prinzipiell für mein Neobiker Postfach funktioniert. |
| mdadm: set /dev/sde3 faulty in /dev/md3
| |
| mdadm: hot removed /dev/sde3 from /dev/md3
| |
|
| |
|
| ### console (dmesg) | | <pre># gromox-kdb2mt — Utility for analysis/import of Kopano mailboxes |
| [437831.642672] md/raid1:md3: Disk failure on sdb3, disabling device.
| | # gromox-mt2exm — Utility for importing various mail items |
| md/raid1:md3: Operation continuing on 1 devices.
| |
| [437831.681725] md: recovery of RAID array md3
| |
| [440886.670057] md: md3: recovery done.
| |
| </pre>
| |
|
| |
|
| | mkdir -p /mnt/kopano_attachments |
| | sshfs $kopano_server:/var/lib/kopano/attachments /mnt/kopano_attachments |
|
| |
|
| ==== md7 ====
| | # detach (CTRL-A d) the SSH tunnel to SQL server (who only accepts localhost conections) |
| <pre>
| | screen ssh -L 12345:localhost:3306 "root@${kopano_server}" |
| root@corsair:~# cat /proc/mdstat | egrep -A2 'md7'
| |
| md7 : active raid1 sde7[2] sdb7[0]
| |
| 3978944832 blocks super 1.2 [2/2] [UU]
| |
| bitmap: 0/30 pages [0KB], 65536KB chunk
| |
|
| |
|
| # mdadm /dev/md7 --fail /dev/sde7 --remove /dev/sde7 | | # EXAMPLE for user neobiker = neobiker@neobiker.de |
| mdadm: set /dev/sde7 faulty in /dev/md7
| | # ------------------------------------------------ |
| mdadm: hot removed /dev/sde7 from /dev/md7
| | # ENVIRONMENT variable is used for SQL password |
| </pre>
| | # either EXPORT it or write in one line with cmd |
| | export_mbox="gromox-kdb2mt --sql-host 127.0.0.1 --sql-port 12345 --src-attach /mnt/kopano_attachments" |
| | SQLPASS=$(ssh $kopano_server cat /etc/mysql.secret) |
|
| |
|
| | SQLPASS=$SQLPASS $export_mbox --mbox-mro neobiker | gromox-mt2exm -u neobiker@neobiker.de |
|
| |
|
| === RAID 5 ===
| | kdb2mt: No ACLs will be extracted. |
| ==== md4 ====
| | kdb Server GUID: xxxxxxxxxxxxxxxxxxxxxxxxxxx |
| <pre>
| | Database schema is kdb-118 |
| root@corsair:~# cat /proc/mdstat | egrep -A2 'md4'
| | Store GUID for MRO "neobiker": xxxxxxxxxxxxxxxxxxxxxxxxx |
| md4 : active (auto-read-only) raid5 sdc4[2] sdd4[3] sde4[5] sdb4[7] sda4[0]
| | Processing folder "" (7 elements)... |
| 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
| | Processing folder "IPM_SUBTREE" (19 elements)... |
| bitmap: 0/4 pages [0KB], 65536KB chunk
| | Processing folder "Posteingang" (791 elements)... |
| | | Processing folder "Postausgang" (0 elements)... |
| # mdadm /dev/md4 --fail /dev/sde4 --remove /dev/sde4
| | Processing folder "Gelöschte Objekte" (1 elements)... |
| mdadm: set /dev/sde4 faulty in /dev/md4
| | Processing folder "Gesendete Objekte" (1 elements)... |
| mdadm: hot removed /dev/sde4 from /dev/md4
| | Processing folder "Kontakte" (0 elements)... |
| | Processing folder "Kalender" (1 elements)... |
| | Processing folder "Entwürfe" (0 elements)... |
| | Processing folder "Journal" (0 elements)... |
| | Processing folder "Notizen" (0 elements)... |
| | Processing folder "Aufgaben" (0 elements)... |
| | Processing folder "Junk E-Mail" (44 elements)... |
| | Processing folder "RSS Feeds" (0 elements)... |
| | Processing folder "Konversationseinstellungen" (0 elements)... |
| | Processing folder "Quickstep Einstellungen" (0 elements)... |
| | Processing folder "Vorgeschlagene Kontakte" (0 elements)... |
| | Processing folder "Spambox" (0 elements)... |
| | Processing folder "Junk-E-Mail" (0 elements)... |
| | Processing folder "Gelöschte Elemente" (0 elements)... |
| | Processing folder "Gesendete Elemente" (0 elements)... |
| | Processing folder "IPM_COMMON_VIEWS" (2 elements)... |
| | Processing folder "IPM_VIEWS" (0 elements)... |
| | Processing folder "FINDER_ROOT" (0 elements)... |
| | Processing folder "Verknüpfung" (0 elements)... |
| | Processing folder "Schedule" (0 elements)... |
| | Processing folder "Freebusy Data" (1 elements)... |
| </pre> | | </pre> |
|
| |
|
| | == Import aller Email Konten == |
|
| |
|
| ==== md5 ====
| |
| <pre> | | <pre> |
| root@corsair:~# cat /proc/mdstat | egrep -A2 'md5'
| | export_mbox="gromox-kdb2mt --sql-host 127.0.0.1 --sql-port 12345 --src-attach /mnt/kopano_attachments" |
| md5 : active raid5 sdc5[1] sdd5[2] sde5[4] sdb5[5] sda5[0]
| | SQLPASS=$(ssh $kopano_server cat /etc/mysql.secret) |
| 7525203968 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
| |
| bitmap: 0/15 pages [0KB], 65536KB chunk
| |
|
| |
|
| # mdadm /dev/md5 --fail /dev/sde5 --remove /dev/sde5 | | # LOOP over all email accounts (except SYSTEM) |
| mdadm: set /dev/sde5 faulty in /dev/md5
| | # -------------------------------------------- |
| mdadm: hot removed /dev/sde5 from /dev/md5
| | users=$(ssh $kopano_server "kopano-admin -l | tail -n +4 | awk '{print $1}' | grep -v SYSTEM") |
| </pre>
| |
|
| |
|
| ==== md6 ====
| | for user in ${users}; do |
| <pre>
| |
| root@corsair:~# cat /proc/mdstat | egrep -A2 'md6'
| |
| md6 : active raid5 sde6[3] sdb6[4] sda6[0]
| |
| 1809098752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
| |
| bitmap: 0/7 pages [0KB], 65536KB chunk
| |
|
| |
|
| # mdadm /dev/md6 --fail /dev/sde6 --remove /dev/sde6
| | details=$(ssh $kopano_server kopano-admin --details $user) |
| mdadm: set /dev/sde6 faulty in /dev/md6
| | email=$(echo "${details}" $user | awk '/Emailaddress:/ {print $2}') |
| mdadm: hot removed /dev/sde6 from /dev/md6
| | guid=$(echo "${details}" $user | awk '/Store GUID:/ {print $3}') |
| </pre>
| |
|
| |
|
| == Ersatz Disk wieder in RAID Verbund einfügen == | | SQLPASS=$SQLPASS $export_mbox --mbox-guid $guid | gromox-mt2exm -u $email |
| Die Partitionen wieder den RAID hinzufügen: Rechner ausschalten, alte Disk ausbauen und neue Disk einsetzen.
| |
|
| |
|
| === RAID 5: md4 neu starten ===
| | done |
| Ein RAID (md4) kam nach dem booten nicht hoch. Ich starte es neu, ein resync war nicht notwendig.
| |
| <pre>root@corsair:~# cat /proc/mdstat | egrep -A2 'md4'
| |
| md4 : inactive sdc4[2](S) sdd4[3](S) sda4[0](S) sdb4[7](S)
| |
| 2096623616 blocks super 1.2
| |
|
| |
|
| root@corsair:~# mdadm --stop /dev/md4
| | # stop ssh tunnel -> exit ssh on kopano server |
| mdadm: stopped /dev/md4
| | screen -r |
|
| |
|
| root@corsair:~# mdadm --assemble /dev/md4
| | # unmount kopano attachments |
| mdadm: /dev/md4 has been started with 4 drives (out of 5).
| | umount /mnt/kopano_attachments |
| | |
| root@corsair:~/xen# cat /proc/mdstat | egrep -A2 'md4'
| |
| md4 : active (auto-read-only) raid5 sda4[0] sdd4[3] sdc4[2] sdb4[7]
| |
| 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [UUUU_]
| |
| bitmap: 0/4 pages [0KB], 65536KB chunk
| |
| </pre> | | </pre> |
|
| |
|
| === vorherige Disk Partitionierung wieder herstellen === | | == Postfix == |
| Übernehme die Formatierung der anderen 8TB (sdb) Disk
| | Mail Delivery Agent (MDA) Konfiguration |
| | * zum versenden von Emails |
| | * Mailaddress rewritings |
|
| |
|
| Sicherstellen dass wir nichts kaputt machen, ist die neue Disk (sde) wirklich wieder auf dem alten Platz (sde) gelandet?
| | <pre>domains=$(ssh ucsmail ucr get mail/hosteddomains) |
| <pre> | |
| root@corsair:~/xen# cat /proc/mdstat | grep sde
| |
| root@corsair:~/xen# pvs | grep sde
| |
| root@corsair:~/xen# fdisk -l /dev/sde
| |
| Disk /dev/sde: 7,3 TiB, 8001563222016 bytes, 15628053168 sectors
| |
| Disk model: WDC WD80EFBX-68A
| |
| Units: sectors of 1 * 512 = 512 bytes
| |
| Sector size (logical/physical): 512 bytes / 4096 bytes
| |
| I/O size (minimum/optimal): 4096 bytes / 4096 bytes
| |
| </pre> | | </pre> |
|
| |
|
| ====Partitionstabelle sichern==== | | == Mail Relay Server == |
| <pre>
| | Postfix can use a mail relay server. |
| root@corsair:~/xen# sgdisk -b ~/Backup_sdb.GPT /dev/sdb
| |
|
| |
|
| root@corsair:~/xen# sgdisk -p /dev/sdb
| | <pre>ssh $kopano_server ucr get mail/relayhost</pre> |
| Disk /dev/sdb: 15628053168 sectors, 7.3 TiB
| |
| Model: WDC WD80EFAX-68K
| |
| Sector size (logical/physical): 512/4096 bytes
| |
| Disk identifier (GUID): 996B3469-25F8-4D4E-B815-755FCF7D0BAD
| |
| Partition table holds up to 128 entries
| |
| Main partition table begins at sector 2 and ends at sector 33
| |
| First usable sector is 34, last usable sector is 15628053134
| |
| Partitions will be aligned on 2048-sector boundaries
| |
| Total free space is 5056 sectors (2.5 MiB)
| |
|
| |
|
| Number Start (sector) End (sector) Size Code Name
| | <pre># authentification on relay host |
| 1 2048 4095 1024.0 KiB EF02
| | /etc/postfix/smtp_auth |
| 2 4096 514047 249.0 MiB FD00
| | # format |
| 3 514048 1049090047 500.0 GiB FD00
| | # FQDN-Relayhost username:password |
| 4 1049090048 2097666047 500.0 GiB FD00
| |
| 5 2097666048 5860533134 1.8 TiB FD00
| |
| 6 5860534272 7669897358 862.8 GiB FD00
| |
| 7 7669899264 15628053134 3.7 TiB 8300
| |
| </pre>
| |
|
| |
|
| ====Partitionstabelle von sdb nach sde übertragen und neue Datenträger-GUID zuweisen====
| | postmap /etc/postfix/smtp_auth |
| <pre>
| | postmap /etc/postfix/tls_policy |
| root@corsair:~/xen# sgdisk -R /dev/sde /dev/sdb
| | service postfix reload |
| root@corsair:~/xen# sgdisk -G /dev/sde
| |
| | |
| root@corsair:~# sgdisk -p /dev/sde | grep GUID
| |
| Disk identifier (GUID): EF58D3BB-5B53-4A33-B005-B734D9000B1D
| |
| </pre> | | </pre> |
|
| |
|
| === vorherige RAID 1 und RAID 5 wieder herstellen === | | == Fetchmail == |
| Binde die Partitionen der neuen Disk in die entsprechenden RAID wieder ein.
| | Fetchmail Konfiguration zum abholen der Emails von meinem Email Provider. |
| | Emails werden entweder von UCS '''oder ''' grommunio abgeholt und and Postfix übergeben! |
|
| |
|
| <pre> | | Auf UCS für jeden Benutzer deaktivieren <br> |
| root@corsair:~# mdadm /dev/md1 --add /dev/sde1
| | -> ''Advanced settings ‣ Remote mail retrieval (single)''<br> |
| mdadm: added /dev/sde1
| | oder Postfix auf UCS zur weiterleitung an grommunio konfigurieren. |
| root@corsair:/etc# mdadm --grow /dev/md1 --raid-devices=3
| |
| raid_disks for /dev/md1 set to 3
| |
| root@corsair:~# cat /proc/mdstat | grep -A2 md1
| |
|
| |
|
| root@corsair:~# mdadm /dev/md3 --add /dev/sde3
| | <pre>systemctl stop fetchmail |
| mdadm: added /dev/sde3
| | systemctl disable fetchmail |
| root@corsair:/etc# mdadm --grow /dev/md3 --raid-devices=3
| | ucr set fetchmail/autostart=false |
| raid_disks for /dev/md3 set to 3
| |
| root@corsair:~# cat /proc/mdstat | grep -A2 md3
| |
|
| |
|
| root@corsair:~# mdadm /dev/md4 --add /dev/sde4
| | # fetchmail config and passwords |
| mdadm: added /dev/sde4
| | cat /etc/fetchmailrc |
| root@corsair:~# cat /proc/mdstat | grep -A2 md4
| |
| | |
| | |
| root@corsair:~# mdadm /dev/md5 --add /dev/sde5
| |
| mdadm: added /dev/sde5
| |
| root@corsair:~# watch "cat /proc/mdstat | grep -A2 md5"
| |
| Every 2,0s: cat /proc/mdstat | grep -A2 md5 corsair: Sun Apr 25 08:27:20 2021
| |
| | |
| md5 : active raid5 sde5[6] sdc5[1] sdd5[2] sdb5[5] sda5[0]
| |
| 7525203968 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [UUU_U]
| |
| [=>...................] recovery = 6.9% (131484148/1881300992) finish=233.0min speed=125120K/sec
| |
| | |
| root@corsair:~# mdadm /dev/md6 --add /dev/sde6
| |
| mdadm: added /dev/sde6
| |
| root@corsair:~# cat /proc/mdstat | grep -A2 md6
| |
| | |
| root@corsair:~# mdadm /dev/md7 --add /dev/sde7
| |
| mdadm: added /dev/sde7
| |
| root@corsair:~# cat /proc/mdstat | grep -A2 md7
| |
| </pre> | | </pre> |
|
| |
| <pre>
| |
| </pre>
| |
|
| |
| Verweise:
| |