Praktik Terbaik untuk memperbarui server RHEL5.7 yang sebelumnya tidak terawat

21

Server RedHat EL5.6 baru baru-baru ini berada di bawah asuhan saya. Segera jelas bahwa, selama 12 bulan sebelumnya, sedikit atau tidak ada perhatian telah diberikan kepada segala jenis pembaruan paket.

Biasanya saya dari pola pikir jika tidak rusak - jangan memperbaikinya. Namun, setelah mendaftarkan server dengan RHN, dan juga menggunakan plugin yum-security untuk memeriksa pembaruan keamanan, ada lebih dari 1.100 pembaruan "keamanan" yang tersedia.

Adakah yang mengalami situasi serupa? Saya enggan hanya memperbarui semuanya, karena saya ingin tahu apa yang sedang diperbarui dan apakah itu berpotensi berdampak pada apa pun yang berjalan di kotak (ini adalah server produksi). Namun, sepertinya juga sejalan dengan praktik ini akan mengharuskan saya untuk melewati 1100 paket errata baris demi baris. Apakah ada solusi yang lebih efisien?

tdk2fe
sumber

Jawaban:

21

Secara umum, pembaruan keamanan dianggap agak aman, terutama untuk distribusi dengan tujuan seperti RedHat. Fokus inti mereka adalah menciptakan lingkungan operasi yang konsisten. Karena itu pengelola cenderung memilih versi paket dan tetap menggunakannya untuk jangka waktu yang lama. Untuk melihat apa yang saya maksud melihat versi paket seperti seperti kernel, python, perl, dan httpd. Apa yang mereka juga lakukan adalah tambalan keamanan backport dari pengembang hulu. Jadi jika kerentanan keamanan ditemukan untuk semua versi Apache httpd 2.2.x maka yayasan Apache dapat merilis versi 2.2.40 dengan perbaikan, tetapi RedHat akan menggulung tambalan secara lokal dan melepaskannya httpd-2.2.3-80dengan perbaikan.

Juga perlu diingat bahwa Anda saat ini berbicara tentang sistem RHEL5.7, rilis saat ini adalah 5.9. Beberapa vendor perangkat lunak hanya akan mendukung subreleases tertentu. Baru-baru ini saya menemukan satu perangkat lunak, misalnya, yang menurut vendor hanya berfungsi pada 5.4. Itu tidak berarti itu tidak akan berjalan pada 5.9, tetapi itu mungkin berarti bahwa mereka tidak akan memberikan dukungan apa pun jika tidak berhasil.

Ada juga kekhawatiran dengan melakukan pembaruan massal sistem yang belum ditambal dalam waktu yang lama. Yang terbesar yang saya temui sebenarnya lebih merupakan masalah manajemen konfigurasi yang hanya dapat diperburuk oleh pembaruan besar. Terkadang file konfigurasi diubah tetapi administrator tidak pernah memulai kembali layanan. Ini berarti bahwa konfigurasi pada disk tidak pernah diuji, dan konfigurasi yang berjalan mungkin tidak ada lagi. Jadi, jika layanan restart, yang akan terjadi setelah Anda menerapkan pembaruan kernel, itu mungkin tidak benar-benar restart. Atau mungkin bertindak berbeda setelah dihidupkan ulang.

Saran saya, lakukan pembaruan, tetapi cerdaslah tentang itu.

  • Rencanakan saat jendela pemeliharaan. Jika tidak ada hal lain yang diperlukan oleh server untuk memulai ulang, ada sejumlah pembaruan kernel dan Anda harus reboot untuk menerapkannya.
  • Pastikan untuk mengambil cadangan penuh sebelum melakukan apa pun. Ini bisa menjadi snapshotting, jika ini adalah VM, memicu cadangan penuh pada apa pun alat Anda, tarring /(ke sistem lain), mengambil ddgambar drive, apa pun. Asal itu sesuatu yang bisa Anda pulihkan.
  • Rencanakan bagaimana Anda menerapkan pembaruan. Anda tidak ingin menyerah begitu yum update -ysaja dan berjalan pergi. Untuk semua hal baik yang dilakukan yum, ia tidak memesan saat menerapkan pembaruan sesuai dengan dependensi. Ini telah menyebabkan masalah di masa lalu. Saya selalu berlari yum clean all && yum update -y yum && yum update -y glibc && yum update. Itu cenderung menangani sebagian besar masalah pemesanan potensial.

Ini mungkin juga saat yang tepat untuk mengganti platform. Kami sudah memiliki RHEL6 cukup lama sekarang. Bergantung pada apa yang dilakukan server ini, mungkin masuk akal untuk membiarkan yang satu ini berjalan apa adanya saat Anda memunculkan instance baru secara paralel. Kemudian setelah terinstal, Anda dapat menyalin semua data, menguji layanan, dan melakukan pemotongan. Ini juga akan memberi Anda kesempatan untuk mengetahui, dari bawah ke atas, bahwa sistemnya terstandarisasi, bersih, terdokumentasi dengan baik, dan semua jazz itu.

Apa pun yang Anda lakukan, saya merasa cukup penting bagi Anda untuk menerapkan sistem saat ini. Anda hanya perlu memastikan untuk melakukannya dengan cara yang memungkinkan Anda memercayai pekerjaan Anda dan produk jadi.

Scott Pack
sumber
Terima kasih atas jawaban terperinci dan wawasan tentang beberapa pertimbangan yang belum saya pikirkan. Semoga ini akan menjadi pembaruan massal terakhir yang perlu saya lakukan. Seperti yang saya sebutkan di posting saya, mereka bahkan tidak menggunakan RHN (yang mereka beli) sehingga mendapatkan pemilik aplikasi di kapal kemungkinan akan lebih sulit daripada pekerjaan teknis :)
tdk2fe
@ tdk2fe: ​​Selalu begitu. :) Jujur, tergantung pada apa hal ini berjalan, itu harus cukup stabil. Saya tidak akan terlalu peduli dengan aplikasi yang tidak berfungsi lagi daripada layanan yang sebenarnya akan mulai kembali.
Scott Pack
Jangan terlalu khawatir tentang RHEL 5.7 vs 5.9, RHEL 5.9 hanya RHEL 5.0 dengan semua pembaruan sejak, dikirimkan siap untuk menginstal. Sebenarnya tidak ada kebutuhan untuk "meningkatkan" di dalam seri. Saya akan menyarankan untuk setidaknya menginstal pembaruan keamanan, dan serius mempertimbangkan untuk menginstal sisanya sebagaimana berlaku. Tidak bisakah Anda mengatur mesin virtual, atau kotak uji, untuk mereplikasi mesin utama dan memeriksa tidak ada yang meledak terlalu buruk?
vonbrand
1
@vonbrand: Benar, tepatnya. Rilis poin secara efektif hanya menandai pemotongan repo pada tanggal tertentu. Itu tidak berarti tidak akan ada masalah. Kerfuffle gilbc dari 5,3 ke 5,4 adalah contoh yang fantastis.
Scott Pack
@ tdk2fe Belum lagi, jika sistem hanya dirawat selama setahun, Anda melakukannya dengan cukup baik. Sebagian besar dari kita telah melihat sistem berjalan tanpa perhatian selama beberapa tahun ...
Michael Hampton
3

Dalam pengalaman saya, RHEL tidak merusak kompatibilitas dalam pembaruan rilis yang sama.

Namun, itu tidak akan meluas ke apa pun yang telah diinstal secara eksternal ke rpm.

Anda dapat menggunakan rpm -qfuntuk menemukan file yang Anda duga dikompilasi eksternal, jika itu mengembalikan "tidak dimiliki oleh paket apa pun" maka Anda mungkin memiliki masalah dalam upgrade Anda.

Saya akan mengambil gambar server dan melakukan upgrade, saya sedikit lebih jahat daripada kebanyakan.

dijit
sumber
Poin bagus. Periksa apakah /etc/yum.repos.dada beberapa repositori aneh yang dikonfigurasi ( EPEL harus aman), instal yum-utilsdan periksa output dari package-cleanup --orphans(paket yang diinstal yang tidak ada dalam repositori yang dikonfigurasi).
vonbrand