Penyimpangan kecil: LR ini sintetis.
Beberapa tugas yang dijelaskan di sini dapat dilakukan dengan lebih sederhana, tetapi karena tugas l/r adalah mengenal
dengan fungsionalitas raid dan lvm, beberapa operasi menjadi rumit secara artifisial.
Persyaratan alat untuk melakukan LR:
Alat virtualisasi seperti Virtualbox
Gambar instalasi Linux, misalnya Debian 9
Ketersediaan Internet untuk mengunduh beberapa paket
Hubungkan melalui ssh ke VM yang diinstal (opsional)
PERHATIAN
Pekerjaan laboratorium ini terkait dengan masalah halus seperti keamanan data - ini adalah area di mana
yang memungkinkan Anda kehilangan semua data karena kesalahan terkecil - satu huruf atau angka tambahan.
Karena Anda melakukan pekerjaan laboratorium, Anda tidak dalam bahaya, kecuali Anda harus mengulanginya lagi.
Dalam kehidupan nyata, semuanya jauh lebih serius, jadi Anda harus memasukkan nama disk dengan sangat hati-hati dan penuh pengertian
apa sebenarnya yang Anda lakukan dengan perintah saat ini dan disk apa yang Anda gunakan.
Poin penting kedua adalah penamaan disk dan partisi: tergantung situasinya, nomor disk mungkin berbeda
dari nilai-nilai yang disajikan dalam perintah dalam pekerjaan laboratorium.
Jadi, misalnya, jika Anda menghapus disk sda ββdari array dan kemudian menambahkan disk baru, disk baru akan ditampilkan
pada sistem bernama sda. Jika Anda reboot sebelum menambahkan disk baru, maka yang baru
disk akan diberi nama sdb, dan yang lama akan diberi nama sda
Lab harus dijalankan sebagai pengguna super (root) seperti yang dibutuhkan sebagian besar perintah
hak istimewa yang lebih tinggi dan tidak masuk akal untuk terus meningkatkan hak istimewa melalui sudo
Bahan Pelajaran
RAID
LVM
Penamaan disk di OS Linux
Apa itu bagian
Apa itu tabel partisi dan di mana disimpan?
Apa itu grub
Utilitas yang digunakan
1) melihat informasi disk
lsblk -o NAMA, UKURAN, FSTYPE, JENIS, TITIK GUNUNG
fdisk -l
2) melihat informasi dan bekerja dengan LVM
pv
pvextend
bahan pvc
ukuran
dll.
vgreduce
ls
memperpanjang
3) melihat informasi dan bekerja dengan RAID
kucing /proc/mdstat
Nyonya
4) titik pemasangan
meningkat
jumlah
kucing /etc/fstab
kucing /etc/mtab
5) partisi ulang disk
fdisk /dev/XXX
6) menyalin partisi
dd if=/dev/xxx dari=/dev/yyy
7) bekerja dengan tabel partisi
bagianx
sfdisk
mkfs.ext4
8) bekerja dengan bootloader
grub-install /dev/XXX
perbarui-grub
9) lain-lain
lsof
tepat
rsync
Pekerjaan laboratorium terdiri dari 3 bagian:
menyiapkan sistem kerja menggunakan lvm, raid
emulasi salah satu kegagalan disk
mengganti disk dengan cepat, menambah disk baru, dan memindahkan partisi.
Tugas 1 (instalasi OS dan konfigurasi LVM, RAID)
1) Buat mesin virtual baru, berikan karakteristik berikut:
1 gb ram
1 CPU
2 hdds (beri nama ssd1, ssd2 dan tetapkan ukuran yang sama, centang kotak hot swap dan ssd)
Pengontrol SATA dikonfigurasi untuk 4 port
2) Mulai menginstal Linux dan ketika Anda memilih hard drive, lakukan hal berikut:
Metode partisi: manual, setelah itu Anda akan melihat gambar ini:
Menyiapkan partisi terpisah untuk /boot: Pilih disk pertama dan buat tabel partisi baru di dalamnya
Ukuran partisi: 512M
Titik pemasangan: /boot
Ulangi pengaturan untuk disk kedua, tetapi karena Anda tidak dapat me-mount /boot dua kali secara bersamaan, pilih mount point: none, akhirnya mendapatkan yang berikut (gambar dengan kusen, terlalu malas untuk mengulanginya):
Pengaturan RAID:
Pilih ruang kosong pada disk pertama dan konfigurasikan jenis partisi sebagai volume fisik untuk RAID
Pilih "Selesai mengatur partisi"
Ulangi pengaturan yang sama persis untuk disk kedua, sehingga menghasilkan yang berikut:
Pilih "Konfigurasi RAID perangkat lunak"
Buat perangkat MD
Jenis perangkat RAID perangkat lunak: Pilih array yang dicerminkan
Perangkat aktif untuk array RAID XXXX: Pilih kedua drive
Perangkat cadangan: Biarkan 0 sebagai default
Perangkat aktif untuk array RAID XX: pilih partisi yang Anda buat di bawah serangan
Finish
Hasilnya, Anda akan mendapatkan gambar seperti ini:
Pertahankan tata letak partisi saat ini dan konfigurasikan LVM: Ya
Buat grup volume
Nama grup volume: sistem
Perangkat untuk grup volume baru: Pilih RAID yang Anda buat
Buat volume logis
nama volume logis: root
ukuran volume logis: 25 dari ukuran disk Anda
Buat volume logis
nama volume logis: var
ukuran volume logis: 25 dari ukuran disk Anda
Buat volume logis
nama volume logis: log
ukuran volume logis: 15 dari ukuran disk Anda
Dengan memilih Tampilkan detail konfigurasi Anda akan mendapatkan gambar berikut:
Setelah Anda selesai menyiapkan LVM, Anda akan melihat yang berikut:
Tata letak partisi: satu per satu, pilih setiap volume yang dibuat di LVM dan tata letaknya, misalnya untuk root seperti ini:
Gunakan sebagai: ext4
titik pemasangan: /
Hasil penandaan partisi root akan terlihat seperti ini:
ulangi operasi partisi untuk var dan log, pilih titik mount yang sesuai (/var dan /var/log dimasukkan secara manual), dapatkan hasil berikut:
Pilih Selesai Partisi
Anda akan ditanyai beberapa pertanyaan tentang fakta bahwa Anda masih memiliki partisi yang tidak di-mount dan swap tidak dikonfigurasi. Kedua pertanyaan tersebut harus dijawab secara negatif.
Hasil akhirnya akan terlihat seperti ini:
3) Selesaikan instalasi OS dengan menginstal grub pada perangkat pertama (sda) dan boot sistem.
4) Copy isi partisi /boot dari drive sda ββββ(ssd1) ke drive sdb (ssd2)
Cantumkan semua disk yang diberikan perintah sebelumnya kepada Anda dan jelaskan jenis disk tersebut
Temukan drive tempat grub tidak diinstal dan lakukan instalasi ini: grub-install /dev/sdb
lihat informasi tentang serangan saat ini dengan perintah cat /proc/mdstat dan tuliskan apa yang Anda lihat.
lihat output dari perintah: pvs, vgs, lvs, mount dan tuliskan apa yang sebenarnya Anda lihat
Jelaskan dengan kata-kata Anda sendiri apa yang Anda lakukan dan hasil apa yang Anda peroleh dari tugas tersebut.
Setelah menyelesaikan tugas ini, disarankan untuk menyimpan salinan cadangan folder mesin virtual atau membuat
kotak gelandangan: https://t.me/bykvaadm/191
Hasil: Mesin virtual dengan disk ssd1, ssd2
Tugas 2 (Meniru kegagalan salah satu disk)
1) Jika Anda telah mencentang kotak hot swap, maka Anda dapat menghapus disk dengan cepat
Hapus disk ssd1 di properti mesin
Temukan direktori tempat file mesin virtual Anda disimpan dan hapus ssd1.vmdk
2) Pastikan mesin virtual Anda masih berjalan
3) Nyalakan ulang mesin virtual dan pastikan masih berjalan
4) periksa status array RAID: cat /proc/mdstat
5) tambahkan disk baru dengan ukuran yang sama di antarmuka VM dan beri nama ssd3
6) melakukan operasi:
lihat bahwa disk baru telah tiba di sistem menggunakan fdisk -l
salin tabel partisi dari disk lama ke disk baru: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
lihat hasilnya menggunakan fdisk -l
Tambahkan disk baru ke array serangan: mdadm βmanage /dev/md0 βadd /dev/YYY
Lihat hasilnya: cat /proc/mdstat. Anda akan melihat bahwa sinkronisasi telah dimulai
7) Sekarang Anda perlu menyinkronkan secara manual partisi yang bukan bagian dari RAID.
Untuk melakukan ini, kami akan menggunakan utilitas dd, menyalin dari disk "live" ke disk baru yang baru saja Anda instal
dd if=/dev/XXX of=/dev/YYY
8) Setelah sinkronisasi selesai, instal grub di drive baru
9) Nyalakan ulang VM untuk memastikan semuanya berfungsi
Jelaskan dengan kata-kata Anda sendiri apa yang Anda lakukan dan hasil apa yang Anda peroleh dari tugas tersebut.
Hasil: Disk ssd1 telah dihapus, disk ssd2 telah disimpan, disk ssd3 telah ditambahkan.
Tugas 3 (Menambahkan disk baru dan memindahkan partisi)
Ini adalah tugas yang paling sulit dan paling banyak dari semua tugas yang disajikan.
Periksa dengan cermat apa yang Anda lakukan dan dengan disk serta partisi mana.
Disarankan untuk membuat salinan sebelum menjalankannya.
Tugas ini tidak bergantung pada tugas No. 2, dapat dilakukan setelah tugas No. 1, disesuaikan dengan nama disk.
Bagian kedua dari tugas laboratorium ini harus mengarah pada keadaan yang persis sama seperti setelah menyelesaikan bagian pertama.
Untuk mempermudah pekerjaan Anda, saya sarankan untuk tidak mengeluarkan disk secara fisik dari mesin host, tetapi hanya
putuskan sambungannya di properti mesin. Dari sudut pandang OS di VM akan terlihat persis sama, tapi Anda bisa
jika terjadi sesuatu, sambungkan kembali disk dan lanjutkan pekerjaan dengan memutar kembali beberapa poin, jika
kamu sedang mengalami masalah. Misalnya, Anda mungkin salah melakukannya atau lupa menyalin partisi /boot ke disk baru.
Saya hanya dapat menyarankan Anda untuk memeriksa ulang disk dan partisi mana yang Anda gunakan beberapa kali, atau bahkan lebih baik
Tuliskan di selembar kertas korespondensi antara disk, partisi dan nomor disk βfisikβ. Pohon yang indah dan jernih
hasil imbang tim lsblk, gunakan sesering mungkin untuk menganalisis apa yang telah Anda lakukan dan apa yang perlu dilakukan.
Ke cerita...
Bayangkan server Anda sudah berjalan lama di 2 drive SSD, lalu tiba-tiba...
1) Simulasikan kegagalan disk SSD2 dengan menghapus disk dari properti VM dan melakukan boot ulang
2) Lihat status disk dan RAID saat ini:
5) Pertama-tama, Anda harus menjaga keamanan data di disk lama.
Kali ini kita akan mentransfer data menggunakan LVM:
Pertama-tama, Anda perlu menyalin tabel file dari disk lama ke disk baru:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Gantikan disk yang benar untuk x,y dan cari tahu apa yang dilakukan perintah ini.
Jalankan lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT dan bandingkan hasilnya dengan panggilan sebelumnya.
Apa yang telah berubah?
gunakan perintah dd untuk menyalin data /boot ke disk baru
dd if=/dev/XXX of=/dev/YYY
jika /boot tetap terpasang pada disk lama, maka harus dipasang ulang pada live disk:
Perintah di atas tidak akan berfungsi tanpa menentukan kunci khusus.
Baca bantuan dan tambahkan kunci ini ke perintah.
Gunakan perintah cat /proc/mdstat untuk memeriksa hasil operasi Anda. Apa yang berubah?
Jalankan lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT dan bandingkan hasilnya dengan panggilan sebelumnya.
Apa yang telah berubah?
6) Langkah selanjutnya adalah mengkonfigurasi LVM
jalankan perintah pvs untuk melihat informasi tentang volume fisik saat ini
buat volume fisik baru termasuk array RAID yang dibuat sebelumnya:
pvcreate /dev/md63
Jalankan lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT dan bandingkan hasilnya dengan panggilan sebelumnya.
Apa yang telah berubah?
Jalankan perintah pvs lagi. Apa yang berubah?
Mari tingkatkan ukuran sistem Grup Volume menggunakan perintah berikut:
vgextend system /dev/md63
Jalankan perintah dan tuliskan apa yang Anda lihat dan apa yang berubah.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Pada disk fisik manakah LV var,log,root saat ini berada?
Pindahkan data dari drive lama ke drive baru, menggunakan nama perangkat yang benar.
Jalankan perintah 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 kita ubah VG kita dengan menghapus raid disk lama darinya. Gantikan nama serangan yang benar.
vgreduce system /dev/md0
Jalankan perintah dan tuliskan apa yang Anda lihat dan apa yang berubah.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Untuk membuat gambar lebih indah, remount /boot ke disk SSD kedua (ssd4) dan jalankan lsblk. Akibatnya, disk SSD3 tidak
tidak ada yang harus dipasang. Periksa dengan cermat apakah partisi /boot tidak kosong! ls /boot harus menunjukkan
beberapa file dan folder. Pelajari apa yang disimpan di bagian ini dan tuliskan direktori file mana yang bertanggung jawab untuk apa.
7) lepaskan disk ssd3 dan tambahkan ssd5, hdd1, hdd2 sesuai dengan spesifikasi teknis yang dijelaskan di atas, sehingga menghasilkan:
ssd4 - SSD baru pertama
ssd5 - SSD baru kedua
hdd1 - hdd baru pertama
hdd2 - hdd baru kedua
8) Periksa apa yang terjadi setelah menambahkan disk:
9) Mari kita kembalikan pengoperasian susunan serangan utama:
salin tabel partisi, ganti disk yang benar:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Harap dicatat bahwa ketika kami menyalin tabel partisi dari disk lama, sepertinya ukurannya baru
tidak menggunakan seluruh kapasitas harddisk.
Oleh karena itu, kita perlu segera mengubah ukuran partisi ini dan memperluas serangan.
Lihat sendiri dengan menjalankan perintah:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) salin partisi boot /boot dari ssd4 ke ssd5
dd if=/dev/XXX of=/dev/YYY
11) Instal grub di drive baru (ssd5)
12) ubah ukuran partisi kedua dari disk SSD5
jalankan utilitas partisi disk:
fdisk /dev/XXX
masukkan kunci d untuk menghapus partisi yang ada (pilih 2)
masukkan kunci n untuk membuat partisi baru
masukkan kunci p untuk menunjukkan jenis partisi adalah "utama"
masukkan kunci 2 agar partisi baru memiliki nomor kedua
Sektor pertama: tekan enter untuk menerima ukuran awal partisi yang dihitung secara otomatis
Sektor terakhir: tekan enter untuk menerima ukuran akhir partisi yang dihitung secara otomatis
masukkan kunci l untuk melihat daftar semua kemungkinan jenis partisi dan temukan Linux raid auto di dalamnya
masukkan tombol t untuk mengubah jenis partisi yang dibuat (2) dan masukkan nomor yang ditemukan pada langkah sebelumnya.
masukkan kunci w untuk menulis perubahan ke disk.
12) baca kembali tabel partisi dan periksa hasilnya
tambahkan disk baru ke array serangan saat ini (jangan lupa mengganti disk yang benar)
mdadm --manage /dev/md63 --add /dev/sda2
Mari kita tambah jumlah disk dalam array kita menjadi 2:
mdadm --grow /dev/md63 --raid-devices=2
Lihatlah hasilnya: kita memiliki 2 array yang diberi markup, tetapi kedua bagian yang termasuk dalam array ini memiliki ukuran yang berbeda
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) menambah ukuran partisi pada disk SSD4
jalankan utilitas partisi disk:
fdisk /dev/XXX
masukkan kunci d untuk menghapus partisi yang ada (pilih 2)
masukkan kunci n untuk membuat partisi baru
masukkan kunci p untuk menunjukkan jenis partisi adalah "utama"
masukkan kunci 2 agar partisi baru memiliki nomor kedua
Sektor pertama: tekan enter untuk menerima ukuran awal partisi yang dihitung secara otomatis
Sektor terakhir: tekan enter untuk menerima ukuran akhir partisi yang dihitung secara otomatis
Di akhir markup, pilih Tidak untuk meninggalkan tanda tangan keanggotaan partisi dalam array.
masukkan kunci w untuk menulis perubahan ke disk.
12) baca kembali tabel partisi dan periksa hasilnya
17) mentransfer data log dari partisi lama ke partisi baru
menginstal sementara penyimpanan log baru
mount /dev/mapper/data-var_log /mnt
mari kita sinkronisasi partisi
apt install rsync
rsync -avzr /var/log/ /mnt/
Mari kita cari tahu proses mana yang sedang berjalan di /var/log
apt install lsof
lsof | grep '/var/log'
menghentikan proses ini
systemctl stop rsyslog.service syslog.socket
melakukan sinkronisasi akhir partisi (data yang mungkin telah berubah sejak sinkronisasi terakhir)
rsync -avzr /var/log/ /mnt/
tukar bagiannya
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
mari kita periksa apa yang terjadi
lsblk
18) Sunting /etc/fstab
fstab - file yang mencatat aturan pemasangan partisi saat boot
tugas kita adalah menemukan baris di mana /var/log dipasang dan memperbaiki perangkat system-log pada data-var_log
19) Yang terpenting pada tahap ini jangan lupa mengganti tabel radela (ext4 misalnya). Karena tidak peduli bagaimana kita mengubah serangan apa pun, lvm, hingga FS pada partisi tersebut diberitahu bahwa ukuran partisi sekarang telah berubah, kita tidak akan dapat menggunakan ruang baru. Gunakan perintah resize2fs untuk mengubah FS.
20) Akord terakhir
Mari kita reboot. Jika Anda melakukan semuanya dengan benar, Anda akan dibawa kembali ke OS Anda (ini diperlukan untuk memastikan semuanya berfungsi. Langkah ini tidak ada artinya selain pengujian mandiri)
periksa apakah semua yang ingin kami lakukan sudah benar-benar selesai:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [OPSIONAL] Ikuti langkah-langkahnya
reboot dengan menekan F12 untuk menentukan drive yang berbeda saat booting untuk memastikan Anda dapat melakukan booting
dari drive SSD mana pun, sehingga kami tidak takut kegagalan salah satunya
sekarang Anda memiliki log LV yang tidak perlu di sistem VG. Alokasikan ruang ini antara root atau var, tetapi alih-alih menggunakan
desain 100% GRATIS tentukan ukurannya dengan tangan menggunakan tombol -L:
-L 500M
memperbaiki masalah /boot terletak di dua partisi tanpa sinkronisasi, tidak perlu melakukan ini dengan benar,
itu ditambahkan di sini sebagai contoh. Jangan lupa untuk menyalin isi /boot suatu tempat terlebih dahulu.
buat serangan baru dan sertakan sda1,sda2 di dalamnya
sertakan partisi ini dalam serangan yang ada dan pulihkan/boot ke serangan utama, tetapi tanpa memasangnya.