Penyimpangan kecil: LR ini adalah sintetik.
Beberapa tugas yang diterangkan di sini boleh dilakukan dengan lebih mudah, tetapi kerana tugas l/r adalah untuk mengenali
dengan fungsi serbuan dan lvm, sesetengah operasi rumit secara buatan.
Keperluan alat untuk melaksanakan LR:
Alat maya seperti Virtualbox
Imej pemasangan Linux, contohnya Debian9
Ketersediaan Internet untuk memuat turun beberapa pakej
Sambung melalui ssh ke VM yang dipasang (pilihan)
PERHATIAN
Kerja makmal ini berkaitan dengan perkara yang halus seperti keselamatan data - ini adalah kawasan di mana
yang membolehkan anda kehilangan semua data anda kerana ralat terkecil - satu huruf atau nombor tambahan.
Memandangkan anda sedang melakukan kerja makmal, anda tidak berada dalam bahaya, kecuali anda perlu mula melakukannya sekali lagi.
Dalam kehidupan sebenar, segala-galanya adalah lebih serius, jadi anda harus memasukkan nama cakera dengan berhati-hati, memahami
apa sebenarnya yang anda lakukan dengan arahan semasa dan cakera apa yang anda gunakan.
Perkara penting kedua ialah penamaan cakera dan partition: bergantung pada keadaan, nombor cakera mungkin berbeza
daripada nilai-nilai yang dibentangkan dalam arahan dalam kerja makmal.
Jadi, sebagai contoh, jika anda mengeluarkan cakera sda dari tatasusunan dan kemudian menambah cakera baharu, cakera baharu akan dipaparkan
pada sistem bernama sda. Jika anda but semula sebelum menambah cakera baharu, maka cakera baharu
cakera akan dinamakan sdb, dan yang lama akan dipanggil sda
Makmal mesti dijalankan sebagai superuser (root) seperti yang diperlukan oleh kebanyakan arahan
keistimewaan yang tinggi dan tidak masuk akal untuk sentiasa meningkatkan keistimewaan melalui sudo
Bahan Kajian
RAID
LVM
Penamaan cakera dalam OS Linux
Apakah bahagian
Apakah jadual partition dan di mana ia disimpan?
Apa itu grub
Utiliti yang digunakan
1) lihat maklumat cakera
lsblk -o NAMA,SAIZ,FSTYPE,JENIS,MOUNTPOINT
fdisk -l
2) melihat maklumat dan bekerja dengan LVM
pvs
pvextend
pvcreate
pvresize
dan lain-lain
vgreduce
lvs
lvextend
3) melihat maklumat dan bekerja dengan RAID
kucing /proc/mdstat
mdadm
4) mata lekap
mount
jumlahnya
kucing /etc/fstab
kucing /etc/mtab
5) partisi semula cakera
fdisk /dev/XXX
6) menyalin partition
dd if=/dev/xxx of=/dev/yyy
7) bekerja dengan jadual partition
partx
sfdisk
mkfs.ext4
8) bekerja dengan pemuat but
grub-install /dev/XXX
kemas kini-grub
9) lain-lain
lsof
apt
rsync
Kerja makmal terdiri daripada 3 bahagian:
menyediakan sistem kerja menggunakan lvm, raid
emulasi salah satu kegagalan cakera
menggantikan cakera dengan cepat, menambah cakera baharu dan memindah partition.
Tugasan 1 (pemasangan dan konfigurasi OS LVM, RAID)
1) Cipta mesin maya baharu, memberikannya ciri-ciri berikut:
1 ram gb
1 cpu
2 hdds (namakannya ssd1, ssd2 dan tetapkan saiz yang sama, semak kotak hot swap dan ssd)
Pengawal SATA dikonfigurasikan untuk 4 port
2) Mula memasang Linux dan apabila anda dapat memilih pemacu keras, lakukan perkara berikut:
Kaedah pembahagian: manual, selepas itu anda harus melihat gambar ini:
Menyediakan partition berasingan untuk /boot: Pilih cakera pertama dan buat jadual partition baharu padanya
Saiz partition: 512M
Titik lekap: /boot
Ulangi tetapan untuk cakera kedua, tetapi kerana anda tidak boleh melekapkan /but dua kali pada masa yang sama, pilih titik lekap: tiada, akhirnya mendapat yang berikut (gambar dengan jamb, terlalu malas untuk melakukannya semula):
Persediaan RAID:
Pilih ruang kosong pada cakera pertama dan konfigurasikan jenis partition sebagai volum fizikal untuk RAID
Pilih "Selesai menyediakan partition"
Ulangi tetapan yang sama untuk cakera kedua, menghasilkan yang berikut:
Pilih "Konfigurasikan perisian RAID"
Buat peranti MD
Jenis peranti RAID perisian: Pilih tatasusunan bercermin
Peranti aktif untuk tatasusunan RAID XXXX: Pilih kedua-dua pemacu
Peranti ganti: Biarkan 0 sebagai lalai
Peranti aktif untuk tatasusunan RAID XX: pilih partition yang anda buat di bawah serbuan
Kekalkan susun atur partition semasa dan konfigurasikan LVM: Ya
Buat kumpulan volum
Nama kumpulan volum: sistem
Peranti untuk kumpulan volum baharu: Pilih RAID yang anda buat
Buat volum logik
nama volum logik: akar
saiz volum logik: 25 daripada saiz cakera anda
Buat volum logik
nama volum logik: var
saiz volum logik: 25 daripada saiz cakera anda
Buat volum logik
nama kelantangan logik: log
saiz volum logik: 15 daripada saiz cakera anda
Dengan memilih Butiran konfigurasi Paparan anda seharusnya mendapat gambar berikut:
Setelah anda selesai menyediakan LVM, anda akan melihat perkara berikut:
Susun atur partition: satu demi satu, pilih setiap volum yang dibuat dalam LVM dan susun aturnya, sebagai contoh, untuk root seperti ini:
Gunakan sebagai: ext4
titik lekap: /
Hasil penandaan partition root sepatutnya kelihatan seperti ini:
ulangi operasi pembahagian untuk var dan log, memilih titik lekap yang sesuai (/var dan /var/log dimasukkan secara manual), mendapatkan hasil berikut:
Pilih Selesai Pembahagian
Anda akan ditanya beberapa soalan tentang hakikat bahawa anda masih mempunyai partition yang tidak dipasang dan swap tidak dikonfigurasikan. Kedua-dua soalan harus dijawab secara negatif.
Keputusan akhir sepatutnya kelihatan seperti ini:
3) Selesaikan pemasangan OS dengan memasang grub pada peranti pertama (sda) dan but sistem.
4) Salin kandungan partition /boot dari pemacu sda (ssd1) ke pemacu sdb (ssd2)
Senaraikan semua cakera yang diberikan arahan sebelumnya kepada anda dan terangkan jenis cakera itu
Cari pemacu di mana grub tidak dipasang dan lakukan pemasangan ini: grub-install /dev/sdb
lihat maklumat tentang serbuan semasa dengan arahan cat /proc/mdstat dan tuliskan perkara yang anda lihat.
lihat output arahan: pvs, vgs, lvs, mount dan tuliskan apa sebenarnya yang anda lihat
Terangkan dengan perkataan anda sendiri apa yang anda lakukan dan hasil yang anda perolehi daripada tugasan tersebut.
Selepas menyelesaikan tugas ini, disyorkan untuk menyimpan salinan sandaran folder mesin maya atau buat
kotak gelandangan: https://t.me/bykvaadm/191
Keputusan: Mesin maya dengan cakera ssd1, ssd2
Tugasan 2 (Meniru kegagalan salah satu cakera)
1) Jika anda telah menyemak kotak pertukaran panas, maka anda boleh memadam cakera dengan cepat
Padam cakera ssd1 dalam sifat mesin
Cari direktori tempat fail mesin maya anda disimpan dan padam ssd1.vmdk
2) Pastikan mesin maya anda masih berjalan
3) But semula mesin maya dan pastikan ia masih berjalan
4) semak status tatasusunan RAID: cat /proc/mdstat
5) tambah cakera baharu dengan saiz yang sama dalam antara muka VM dan namakannya ssd3
6) melaksanakan operasi:
lihat bahawa cakera baru telah tiba dalam sistem menggunakan fdisk -l
salin jadual partition dari cakera lama ke yang baharu: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
Lihat hasilnya: cat /proc/mdstat. Anda sepatutnya melihat bahawa penyegerakan telah bermula
7) Sekarang anda perlu menyegerakkan partition secara manual yang bukan sebahagian daripada RAID.
Untuk melakukan ini, kami akan menggunakan utiliti dd, menyalin dari cakera "langsung" ke cakera baharu yang anda pasang baru-baru ini
dd if=/dev/XXX of=/dev/YYY
8) Selepas penyegerakan selesai, pasang grub pada pemacu baharu
9) But semula VM untuk memastikan semuanya berfungsi
Terangkan dengan perkataan anda sendiri apa yang anda lakukan dan hasil yang anda perolehi daripada tugasan tersebut.
Keputusan: Cakera ssd1 telah dialih keluar, cakera ssd2 telah disimpan, cakera ssd3 telah ditambah.
Tugasan 3 (Menambah cakera baharu dan mengalihkan partition)
Ini adalah tugas yang paling kompleks dan besar daripada semua yang dibentangkan.
Semak dengan teliti apa yang anda lakukan dan dengan cakera dan partition yang mana.
Adalah disyorkan untuk membuat salinan sebelum menjalankannya.
Tugas ini bebas daripada tugasan No. 2, ia boleh dilakukan selepas tugasan No. 1, dilaraskan untuk nama cakera.
Bahagian kedua tugas makmal ini harus membawa kepada keadaan yang sama seperti selepas menyelesaikan bahagian pertama.
Untuk memudahkan kerja anda, saya boleh mengesyorkan agar anda tidak mengeluarkan cakera secara fizikal daripada mesin hos, tetapi hanya
putuskan sambungannya dalam sifat mesin. Dari sudut pandangan OS dalam VM ia akan kelihatan sama, tetapi anda boleh
jika sesuatu berlaku, sambungkan cakera kembali dan teruskan kerja dengan melancarkan beberapa mata, jika
anda menghadapi masalah. Sebagai contoh, anda mungkin telah melakukannya dengan salah atau terlupa untuk menyalin partition /boot ke cakera baharu.
Saya hanya boleh menasihati anda untuk menyemak semula cakera dan partition yang anda gunakan beberapa kali, atau lebih baik lagi
Tulis pada sekeping kertas surat-menyurat antara cakera, partition dan nombor cakera "fizikal". Pokok yang cantik dan jernih
seri pasukan lsblk, gunakannya sekerap mungkin untuk menganalisis perkara yang telah anda lakukan dan perkara yang perlu dilakukan.
Kepada cerita...
Bayangkan pelayan anda telah berjalan untuk masa yang lama pada 2 pemacu SSD, apabila tiba-tiba...
1) Simulasikan kegagalan cakera ssd2 dengan mengalih keluar cakera daripada sifat VM dan but semula
2) Lihat status semasa cakera dan RAID:
3) Anda bernasib baik - bos anda telah membenarkan anda membeli beberapa cakera baharu:
2 SATA berkapasiti besar untuk tugas yang telah lama tertunggak untuk memindahkan partition dengan log ke cakera berasingan
2 SSD untuk menggantikan yang mati, serta menggantikan yang masih berfungsi.
Sila ambil perhatian bahawa bakul pelayan hanya menyokong pemasangan 4 cakera pada satu masa,
oleh itu, anda tidak boleh menambah semua cakera sekali gus.
Pilih kapasiti HDD 2 kali lebih besar daripada SSD.
Kapasiti SSD adalah 1,25 kali lebih besar daripada SSD sebelumnya.
4) Tambah satu cakera ssd baharu, memanggilnya ssd4, dan selepas menambah, semak apa yang berlaku:
5) Pertama sekali, anda harus menjaga keselamatan data pada cakera lama.
Kali ini kami akan memindahkan data menggunakan LVM:
Pertama sekali, anda perlu menyalin jadual fail dari cakera lama ke yang baharu:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Gantikan cakera yang betul untuk x,y dan fikirkan apa yang dilakukan oleh arahan ini.
Jalankan lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT dan bandingkan outputnya dengan panggilan sebelumnya.
Apa yang telah berubah?
gunakan arahan dd untuk menyalin data /boot ke cakera baharu
dd if=/dev/XXX of=/dev/YYY
jika /boot kekal dipasang pada cakera lama, ia harus dipasang semula pada cakera langsung:
Perintah di atas tidak akan berfungsi tanpa menentukan kunci khas.
Baca bantuan dan tambahkan kunci ini pada arahan.
Gunakan perintah cat /proc/mdstat untuk menyemak hasil operasi anda. Apa yang telah berubah?
Jalankan lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT dan bandingkan outputnya dengan panggilan sebelumnya.
Apa yang telah berubah?
6) Langkah seterusnya ialah mengkonfigurasi LVM
jalankan arahan pvs untuk melihat maklumat tentang volum fizikal semasa
buat volum fizikal baharu termasuk tatasusunan RAID yang dibuat sebelum ini:
pvcreate /dev/md63
Jalankan lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT dan bandingkan outputnya dengan panggilan sebelumnya.
Apa yang telah berubah?
Jalankan arahan pvs sekali lagi. Apa yang telah berubah?
Mari kita tingkatkan saiz sistem Kumpulan Volume menggunakan arahan berikut:
vgextend system /dev/md63
Jalankan arahan dan tuliskan apa yang anda lihat dan apa yang berubah.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Pada cakera fizikal apakah LV var,log,root berada pada masa ini?
Alihkan data dari pemacu lama ke pemacu baharu, menggunakan nama peranti yang betul.
Jalankan arahan dan tuliskan apa yang anda lihat dan apa yang berubah.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Mari tukar VG kita dengan mengalih keluar cakera serbuan lama daripadanya. Gantikan nama serbuan yang betul.
vgreduce system /dev/md0
Jalankan arahan dan tuliskan apa yang anda lihat dan apa yang berubah.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Untuk menjadikan gambar lebih cantik, pasang semula /boot ke cakera ssd kedua (ssd4) dan jalankan lsblk. Akibatnya, cakera ssd3 tidak
tiada apa yang perlu dipasang. Periksa dengan teliti bahawa partition /boot tidak kosong! ls /boot mesti tunjuk
beberapa fail dan folder. Kaji apa yang disimpan dalam bahagian ini dan tuliskan direktori fail mana yang bertanggungjawab untuk apa.
7) keluarkan cakera ssd3 dan tambah ssd5, hdd1, hdd2 mengikut spesifikasi teknikal yang diterangkan di atas, menghasilkan:
ssd4 - ssd baharu yang pertama
ssd5 - ssd baharu kedua
hdd1 - hdd baharu pertama
hdd2 - hdd baharu kedua
8) Semak apa yang berlaku selepas menambah cakera:
9) Mari kita pulihkan operasi tatasusunan serbuan utama:
salin jadual partition, menggantikan cakera yang betul:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Sila ambil perhatian bahawa apabila kami menyalin jadual partition dari cakera lama, nampaknya saiz baru
tidak menggunakan keseluruhan kapasiti cakera keras.
Oleh itu, tidak lama lagi kita perlu mengubah saiz partition ini dan mengembangkan serbuan.
Lihat sendiri dengan menjalankan arahan:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) salin partition boot /boot dari ssd4 ke ssd5
dd if=/dev/XXX of=/dev/YYY
11) Pasang grub pada pemacu baharu (ssd5)
12) ubah saiz partition kedua cakera ssd5
jalankan utiliti pembahagian cakera:
fdisk /dev/XXX
masukkan kekunci d untuk memadam partition sedia ada (pilih 2)
masukkan kekunci n untuk mencipta partition baharu
masukkan kekunci p untuk menunjukkan jenis partition adalah "utama"
masukkan kekunci 2 supaya partition baru mempunyai nombor kedua
Sektor pertama: tekan enter untuk menerima saiz yang dikira secara automatik bagi permulaan partition
Sektor terakhir: tekan enter untuk menerima saiz pengiraan automatik penghujung partition
masukkan kekunci l untuk melihat senarai semua jenis partition yang mungkin dan cari Linux raid auto di dalamnya
masukkan kekunci t untuk menukar jenis partition yang dibuat (2) dan masukkan nombor yang terdapat dalam langkah sebelumnya.
masukkan kekunci w untuk menulis perubahan pada cakera.
12) baca semula jadual partition dan semak hasilnya
tambah cakera baharu pada tatasusunan serbuan semasa (jangan lupa untuk menggantikan cakera yang betul)
mdadm --manage /dev/md63 --add /dev/sda2
Mari kembangkan bilangan cakera dalam tatasusunan kami kepada 2:
mdadm --grow /dev/md63 --raid-devices=2
Lihatlah hasilnya: kami mempunyai 2 tatasusunan yang ditandakan, tetapi kedua-dua bahagian yang disertakan dalam tatasusunan ini mempunyai saiz yang berbeza
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) meningkatkan saiz partition pada cakera ssd4
jalankan utiliti pembahagian cakera:
fdisk /dev/XXX
masukkan kekunci d untuk memadam partition sedia ada (pilih 2)
masukkan kekunci n untuk mencipta partition baharu
masukkan kekunci p untuk menunjukkan jenis partition adalah "utama"
masukkan kekunci 2 supaya partition baru mempunyai nombor kedua
Sektor pertama: tekan enter untuk menerima saiz yang dikira secara automatik bagi permulaan partition
Sektor terakhir: tekan enter untuk menerima saiz pengiraan automatik penghujung partition
Pada penghujung penanda, pilih Tidak untuk meninggalkan tandatangan partition milik tatasusunan.
masukkan kekunci w untuk menulis perubahan pada cakera.
12) baca semula jadual partition dan semak hasilnya
Sila ambil perhatian bahawa kini sda2, sekatan sdc2 mempunyai saiz > daripada saiz peranti serbuan.
13) pada peringkat ini saiz serbuan kini boleh diperluaskan
mdadm --grow /dev/md63 --size=max
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # check result
Semak lsblk dan perhatikan apa yang telah berubah
14) Walau bagaimanapun, walaupun kami menukar saiz serbuan, saiz vg root,var,log sendiri tidak berubah
17) pindahkan data log dari partition lama ke partition baru
pasang storan log baharu buat sementara waktu
mount /dev/mapper/data-var_log /mnt
mari kita selaraskan partition
apt install rsync
rsync -avzr /var/log/ /mnt/
Mari kita ketahui proses yang sedang berjalan dalam /var/log
apt install lsof
lsof | grep '/var/log'
hentikan proses ini
systemctl stop rsyslog.service syslog.socket
lakukan penyegerakan akhir partition (data yang mungkin telah berubah sejak penyegerakan terakhir)
rsync -avzr /var/log/ /mnt/
tukar bahagian
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
mari kita semak apa yang berlaku
lsblk
18) Edit /etc/fstab
fstab - fail yang merekodkan peraturan yang mana partition akan dipasang semasa boot
tugas kami adalah untuk mencari baris di mana /var/log dipasang dan membetulkan peranti system-log pada data-var_log
19) Perkara yang paling penting pada peringkat ini ialah jangan lupa untuk menukar jadual radela (ext4, sebagai contoh). Kerana tidak kira bagaimana kami menukar sebarang serbuan, lvm, sehingga FS pada partition dimaklumkan bahawa saiz partition kini telah berubah, kami tidak akan dapat menggunakan ruang baharu. Gunakan arahan resize2fs untuk menukar FS.
20) Kord akhir
Mari but semula. Jika anda melakukan semuanya dengan betul, anda akan dibawa kembali ke OS anda (ini perlu untuk memastikan semuanya berfungsi. Langkah ini tidak mempunyai makna selain daripada ujian kendiri)
semak bahawa semua yang kami mahu lakukan sebenarnya telah dilakukan:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [PILIHAN] Ikuti langkah
but semula dengan menekan F12 untuk menentukan pemacu yang berbeza semasa but untuk memastikan anda boleh but
dari mana-mana pemacu ssd, supaya kita tidak takut kegagalan salah satu daripadanya
kini anda mempunyai log masuk LV yang tidak diperlukan dalam sistem VG. Peruntukkan ruang ini antara akar atau var, tetapi bukannya menggunakan
reka bentuk 100% PERCUMA tentukan saiz dengan tangan menggunakan kekunci -L:
-L 500M
selesaikan masalah yang /boot terletak pada dua partition tanpa penyegerakan, tidak perlu melakukan ini dengan betul,
ia ditambah di sini sebagai contoh. Jangan lupa untuk menyalin kandungan /boot di suatu tempat dahulu.
buat serbuan baharu dan masukkan sda1,sda2 di dalamnya
masukkan partition ini dalam serbuan sedia ada dan pulihkan /boot ke serbuan utama, tetapi tanpa memasangnya.