Admin pagi: tambahkan ruang pada lusinan server untuk minum kopi

Setiap hari saya harus menambahkan ruang pada satu, dua, tiga, lima, dan terkadang sepuluh server basis data. Mengapa Karena mereka dicirikan oleh pertumbuhan alami pangkalan. Ada ratusan server, semuanya adalah mesin virtual dengan disk pada ketentuan tipis. Jika mereka diberi banyak ruang di muka, maka pasti akan ada semacam "pelarian", seperti peningkatan dengan melimpahnya tabel, yang akan melahap seluruh tempat ini, dan jika tidak, ia akan menggigit. Seperti yang Anda tahu, provisi tipis adalah cara satu arah, jika tempat itu melahap, tetapi tidak dapat dikembalikan.

Akibatnya, sebagian besar server nongkrong di suatu tempat di dekat perbatasan ruang 90% yang digunakan - tepatnya karena peringatan dipicu di perbatasan 90%. Segera setelah saya memberikan sedikit, hanya sedikit ruang - server masuk ke wilayah 80% -85% digunakan, dan setelah sebulan tempat lain perlu ditambahkan lagi. Dan, bagaimanapun, saya tidak akan memberi banyak sekaligus - ada terlalu banyak preseden dengan pelarian.

Saya melakukan pekerjaan mekanis memperluas ruang disk begitu sering sehingga saya bosan dan memutuskan untuk mengotomatiskannya dengan Jenkins:



Saya minta maaf untuk deskripsi yang agak membosankan dan terperinci di bawah ini, tetapi jika itu dapat berguna bagi seseorang, maka itu adalah detail kecil yang penting - itu pada mereka yang Anda selalu menghabiskan waktu paling banyak. Jika detailnya tidak penting, segera gulir ke gambar terakhir.

Tentu saja, sebelum menambahkan tempat, saya melihat ruang yang digunakan% histori pertumbuhan, secara otomatis melekat pada peringatan oleh sistem pemantauan rahasia saya . Paling sering, pertumbuhan alami:



Dan di sini lebih baik dipahami terlebih dahulu:



Kembali ke Jenkins, yang hanya merupakan antarmuka ke skrip Powershell. Kami memiliki banyak VMware Vcenters, jadi prosedur SQL khusus menggunakan nama server menentukan di mana server berada dan menghubungkannya:



Sekarang kita membaca ukuran disk, menambah delta dan menetapkan nilai baru.



Benar, saya berani mengambil keuntungan dari kenyataan bahwa semua server yang kita miliki dilemparkan dengan cara yang sama, misalnya, D: selalu Hard disk 2. Jika tidak, maka Anda harus menderita.

Sekarang disk telah diperluas dalam hal VMware, tetapi tidak dalam hal guest (Windows). Kita harus menggunakan ruang yang dialokasikan. Untuk melakukan ini, jalankan perintah DISKPART di dalam tamu.



Kami dengan berani memasukkan file BAT dan IN ke root D: dan menggunakan WMIC untuk memaksa mesin untuk menjalankan perintah ini. File doresizeX.bat (X adalah nama drive) hanya berisi
diskpart <d: \ doresizeX.in> d: \ doresize.out

Dan doresizeX.in berisi:
memindai ulang
pilih volume X
memperpanjang
keluar

Sekarang semuanya sudah siap, Anda hanya perlu menunggu sedikit (perintahnya asinkron!) Dan baca hasilnya, saring yang tidak perlu:



Dan kami sedang menunggu surat dari Jenkins:

Source: https://habr.com/ru/post/id434678/


All Articles