GNU/Linux >> Belajar Linux >  >> Linux

Serangan Linux menghilang setelah reboot

Resep ini berhasil untuk saya setelah mengalami masalah yang sama. Mencari di seluruh internet mencoba menemukan jawabannya, dan akhirnya menemukan ini, dan masih tidak ada bantuan.

Masalahnya seperti yang saya lihat berlipat ganda.

  1. mdadm menugaskan ulang file perangkat dari /dev/md0 ke sesuatu seperti /dev/md127 pada reboot berikutnya. Jadi Anda tidak bisa hanya menggunakan file perangkat di fstab. Saya akhirnya menggunakan UUID, dari sistem file yang dibuat.

  2. Hampir semua tutorial penyiapan drive RAID di web menunjukkan pembuatan perangkat RAID menggunakan file perangkat driver seperti ini:

    mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
    

    Sebagai gantinya saya menggunakan file perangkat partisi, seperti ini:

    mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
    

    Bentuk kedua membutuhkan pembuatan partisi yang tepat pada setiap disk menggunakan gdisk atau fdisk . Saya menggunakan gdisk dan menetapkannya sebagai tipe fd00 , yang merupakan partisi serangan.

  3. Ada banyak pembicaraan tentang perlunya memperbarui /etc/mdadm/mdadm.conf . Ini salah. Saya sengaja, menghapus file itu. Itu tidak diperlukan. (Lihat di bawah)

Itu benar-benar semua ada terlalu itu. Resep lengkapnya menyusul...

Partisi setiap drive dengan satu partisi bertipe fd00 , RAID Linux:

[email protected]:~# gdisk /dev/sda
Command (? for help): n
Partition number (1-128, default 1):
First sector (2048-3907029134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): fd00
Changed type of partition to 'Linux RAID'

Command (? for help): p
Disk /dev/sda: 3907029168 sectors, 1.8 TiB
Model: ST2000DM001-1ER1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): F81E265F-2D02-864D-AF62-CEA1471CFF39
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)

Number Start (sector) End (sector) Size Code Name
1
2048 3907029134 1.8 TiB FD00 Linux RAID

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.

Sekarang Anda akan melihat perangkat disk dan perangkat partisi di /dev

[email protected]:~# ls /dev/sd[a-d]*
/dev/sda /dev/sda1 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1

Sekarang buat RAID pilihan Anda dengan mdadm menggunakan file perangkat partisi, bukan perangkat disk

[email protected]:~# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: chunk size defaults to 512K
mdadm: /dev/sda1 appears to contain an ext2fs file system
size=471724032K mtime=Sun Nov 18 19:42:02 2018
mdadm: /dev/sda1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=2930265540K mtime=Sun Nov 18 23:58:02 2018
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

Sekarang periksa /dev/disk untuk melihat apakah ada UUID yang terkait dengan /dev/md0 baru Anda RAID. Seharusnya tidak ada.

[email protected]:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2

Buat sistem file baru, dan setelah itu Anda sekarang harus memiliki UUID dengan /dev/md0

[email protected]:~# mkfs.ext4 -F /dev/md0
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 2685945088 4k blocks and 335745024 inodes
Filesystem UUID: 7bd945b4-ded9-4ef0-a075-be4c7ea246fb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

Voila, itu dia.

[email protected]:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 9 Nov 22 04:43 7bd945b4-ded9-4ef0-a075-be4c7ea246fb -> ../../md0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2

Ubah /etc/fstab Anda dan tambahkan mount untuk RAID baru AndaPastikan untuk menggunakan UUID, dan bukan file perangkat.

[email protected]:~# cat /etc/fstab
UUID=e79571b6-eb75-11e8-acb0-e0d55e117fa5 / ext4 defaults 0 0
UUID=4777-FB10 /boot/efi vfat defaults 0 0
/swap.img none
swap sw 0 0
UUID=7bd945b4-ded9-4ef0-a075-be4c7ea246fb /md0/tweets ext4 auto 0 0

Di sini, tidak terlihat /etc/mdadm/mdadm.conf Itu tidak diperlukan.

[email protected]:~# ls -l /etc/mdadm
total 0

Mulai ulang

[email protected]:~# reboot
Connection to 192.168.0.131 closed by remote host.
Connection to 192.168.0.131 closed.

RAID dipasang, tetapi mdadm telah mengganti nama file perangkat dari md0 ke md127

Untung kami menggunakan UUID dan bukan file perangkat yang sebenarnya.

[email protected]:~# df /md0/tweets
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md127 10658016696 73660 10120737636 1% /md0/tweets

Lihat md0 hilang dari /dev

[email protected]:~# ls /dev/md*
/dev/md127

/dev/md:

Itu dia. Sekarang saya menikmati RAID0 10 Terabyte yang beroperasi pada kecepatan lebih dari 600 MB/dtk

[email protected]:~# hdparm -tT /dev/md127

/dev/md127:
Timing cached reads: 26176 MB in 1.99 seconds = 13137.47 MB/sec
Timing buffered disk reads: 1878 MB in 3.00 seconds = 625.13 MB/sec

/proc/mdstat Anda menunjukkan bahwa tidak ada kepribadian RAID (yaitu RAID1, RAID5, dll.) telah dimuat, jadi tidak ada upaya yang dilakukan untuk mencoba mengaktifkan kumpulan RAID.

Failed to start mdadm.service: Unit mdadm.service is masked.

Pesan ini menunjukkan mdadm.service telah dinonaktifkan dengan cara yang paling kuat:tidak ada upaya eksplisit yang akan dilakukan untuk memulai layanan, dan meskipun ada hal lain yang bergantung pada layanan ini, layanan tidak akan dimulai.

Seperti pada pertanyaan yang ditautkan oleh roaima, coba jalankan perintah ini sebagai root:

dpkg-reconfigure mdadm    # Choose "all" disks to start at boot
update-initramfs -u       # Updates the existing initramfs

Yang pertama akan mengkonfigurasi ulang mdadm paket dan harus mendeteksi semua set RAID dan membiarkan Anda memilih set RAID mana yang akan diaktifkan secara otomatis saat boot:biasanya "semua" adalah jawaban yang bagus. Ini juga harus menangani mdadm.service disamarkan, jika saya mengerti dengan benar.

Setelah selesai, perintah kedua akan memperbarui initramfs Anda, sehingga file konfigurasi yang diperbarui juga akan diperbarui di initramfs Anda, dan skrip yang akan dijalankan pada fase awal booting akan mendapatkan informasi bahwa ada kumpulan RAID yang harus diaktifkan.


Linux
  1. Paksa reboot server Linux jarak jauh

  2. Linux – Reboot Hanya Userspace?

  3. Cara Reboot Linux Menggunakan Command Line

  1. Cara Memeriksa Uptime Sistem di Linux

  2. Bagaimana cara menjadwalkan reboot di Linux?

  3. Apakah saya perlu me-restart server setelah pembaruan kernel linux?

  1. Cara mematikan atau me-reboot Linux

  2. Perintah reboot Linux

  3. mdadm:perintah tidak ditemukan