Kami meng-host VPS untuk pelanggan. Setiap VPS pelanggan diberikan LVM LV pada hard disk spindle standar. Jika pelanggan ingin pergi, kami nolkan LV ini untuk memastikan bahwa data mereka tidak bocor ke pelanggan lain.
Kami berpikir untuk menggunakan SSD untuk bisnis hosting kami. Mengingat bahwa SSD memiliki teknologi "wear leveling", apakah itu membuat zeroing pointless? Apakah ini membuat ide SSD ini menjadi tidak mungkin, mengingat kami tidak dapat membiarkan data pelanggan bocor ke pelanggan lain?
sumber
Jangan pernah mengisi nol SSD. Minimal, ini akan aus beberapa umur tulis SSD untuk sedikit atau tanpa manfaat. Dalam skenario kasus terburuk yang ekstrem, Anda dapat menempatkan pengontrol SSD ke kondisi kinerja yang (sementara) berkurang .
Dari sumber ini :
Opsi terbaik Anda, hapus aman melalui enkripsi disk lengkap:
Beberapa SSD modern dapat menggunakan enkripsi disk lengkap - contohnya adalah 320 drive baru Intel dan beberapa drive seri Sandforce 2200. Drive ini dapat dihapus dengan aman dengan cara yang sederhana dan cepat, tanpa memakai drive apa pun. Drive menggunakan enkripsi AES untuk semua data yang ditulis, jadi penghapusan yang aman berarti menghapus kunci AES yang lama, dan menggantinya dengan yang baru. Ini secara efektif membuat semua data 'lama' pada drive tidak dapat dipulihkan.
Namun, penghapusan aman Intel tidak mudah untuk diotomatisasi. AFAIK harus dilakukan dari aplikasi Windows GUI Intel, hanya dapat dijalankan pada drive non-boot kosong dan sebagainya. Lihat halaman 21 dan seterusnya dalam Intels docs.
Opsi Anda yang lain, hapus aman ATA:
Pilihan lain adalah mengeluarkan perintah ATA Secure Erase via fx HDPARM di Linux. Ini akan jauh lebih mudah untuk diotomatisasi melalui skrip.
Asalkan drive mengimplementasikan ATA Secure Erase dengan cara yang 'baik', orang harus mengharapkannya untuk setidaknya menghapus "lapisan terjemahan flash" (FTL). Tabel FTL menampung pemetaan antara sektor logis (yang dilihat 'sistem operasi'), dan halaman fisik NVRAM pada drive itu sendiri. Dengan hancurnya tabel pemetaan ini, akan sangat sulit - tetapi mungkin bukan tidak mungkin - untuk memulihkan data dari drive.
Namun, saya tidak mengetahui adanya penelitian yang menunjukkan bahwa ATA Secure Erase secara konsisten dan diterapkan dengan baik pada semua drive pabrikan, jadi saya ragu untuk mengatakan itu akan selalu bekerja - Anda harus membaca dokumentasi teknis pabrikan.
Untuk satu partisi:
Ketika saya membaca komentar untuk jawaban lain, sepertinya OP hanya ingin menghapus partisi tunggal dengan aman. Salah satu cara yang baik untuk melakukannya adalah dengan hanya membuat volume terenkripsi , fx menggunakan LUKS atau TrueCrypt . Dengan cara itu Anda dapat dengan aman menghapus volume dengan membuang kunci enkripsi, mirip dengan apa yang dilakukan skema enkripsi disk penuh pada drive.
Kesimpulan:
Jika Anda benar-benar ingin tahu, maka bacalah makalah yang ditautkan dari blog Sophos, dan bacalah catatan teknis produsen drive tentang penghapusan aman. Namun, jika Anda ingin menghapus aman 'baik', maka SSD dengan enkripsi disk penuh dan penghapusan & penggantian kunci enkripsi yang aman mungkin merupakan pilihan terbaik Anda. Sebagai alternatif, gunakan enkripsi level sistem operasi, dan buang kunci ketika Anda ingin data terhapus dengan aman.
sumber
Leveling aus tidak ada hubungannya dengan data zeroing out.
Anda nol data untuk menghentikan orang lain / aplikasi membaca data itu. SSD 'memakai tingkat' data mereka untuk memastikan bahwa mereka tetap dapat digunakan lebih lama karena 'kerusakan' yang dilakukan penulisan terhadap SSD. Disk biasanya melakukan ini ketika mereka tidak sibuk, dalam situasi server waktu tenang tidak selalu tersedia sehingga pekerjaan ini sering tidak selesai.
Apakah Anda menagih pelanggan Anda untuk operasi IO mereka? Jika tidak, apa yang menghentikan mereka pada dasarnya membunuh bagian mereka dari SSD dalam jam / hari hanya dengan terus-menerus menulis sepanjang waktu? SSD agak sedikit lebih mudah untuk dibunuh daripada yang dipikirkan kebanyakan orang , terutama di lingkungan yang berat.
sumber
if (time < 9am) chriss_try_again()
Jadi ada baiknya membaca artikel seperti ini . Jika seseorang memiliki akses fisik ke disk, maka mengambil informasi lebih mudah. Sudahkah Anda mempertimbangkan untuk mengenkripsi data pada SSD dan kemudian yang perlu Anda lakukan adalah melupakan kunci privat yang seharusnya menjadi masalah yang lebih mudah. Saya dapat melihat SSD menjadi kemenangan besar di vps karena kinerja akses acak yang jauh lebih baik.
sumber
Anda pasti tidak ingin menggunakan metode tradisional untuk menghapus SSD, seperti menggunakan
dd
data nol, atau metode lain yang menulis data acak ke disk. Metode-metode itu lebih cocok untuk disk berbasis platter. Ini efektif dalam menghapus SSD, tetapi juga tidak perlu menghabiskan banyak operasi penulisan SSD yang terbatas, sehingga mengurangi masa pakai SSD yang diharapkan. Itu akan cepat mahal. Itu juga dapat menurunkan kinerja SSD seiring waktu.SSD memiliki metode berbeda untuk menghapus aman. Saya akan mengatakan bahwa itu tampaknya sangat rumit untuk dilakukan, karena Anda biasanya memerlukan jenis pengontrol SATA tertentu yang dapat melakukan emulasi IDE, dan prosedurnya bisa rumit. Beberapa produsen menyediakan alat untuk menghapus SSD mereka sendiri, tetapi Anda juga dapat melakukannya dengan hdparm di Linux: https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase . Tetapi Anda akan melihat dalam instruksi tersebut bahwa Anda harus memastikan drive tidak "beku" sebelum Anda dapat melanjutkan. Ini adalah salah satu langkah yang lebih sulit karena membutuhkan menemukan motherboard & pengontrol SATA yang akan memungkinkan Anda "mencairkan" drive saat sistem di-boot, yang biasanya melibatkan mencabutnya dari kabel SATA-nya, kemudian memasangnya kembali.
Bagaimanapun, rekomendasi saya adalah melakukan riset Anda & memilih SSD yang dilengkapi dengan utilitas hapus aman yang dapat digunakan pada sistem yang nyaman bagi Anda.
sumber
dd bs=1M
akan menghasilkan keausan minimal.Meskipun satu jawaban sudah diterima, saya pikir perintah
blkdiscard /dev/sdX
itu masih layak disebutkan di sini.Menurut Arch Wiki: SSD ,
blkdiscard
perintah akan membuang semua blok dan semua data akan hilang. Dianjurkan untuk digunakan sebelum "Anda ingin menjual SSD Anda".Saya tidak terbiasa dengan cara TRIM bekerja, jadi saya tidak tahu apakah ada jaminan bahwa data akan dihapus. Tetapi saya pikir itu lebih baik daripada tidak melakukan apa-apa.
BTW, saya takut bahwa perintah ini hanya berfungsi pada seluruh perangkat, bukan untuk satu partisi.
Semoga ini membantu. :)
sumber
blkdiscard
tampaknya tidak aman dalam semua kasus, karenaTRIM
itu sendiri hanya permintaan dan tidak semua pengontrol SSD menghormatinya. Anda dapat membaca lebih lanjut tentang ini di sini dan di sini . Tetapi seperti yang dijelaskan di sana, kernel Linux mempertahankan daftar putih perangkat mana yang dikenal untuk menghormati TRIM.hdparm -I /dev/theSSD
berisiDeterministic read ZEROs after TRIM
,blkdiscard
harus cepat dan dijamin nol dibaca setelahnya. Kalau tidak, Secure Erase sepertinya solusi yang lebih baik. Namun, mengingat bahwa pertanyaannya adalah tentang keamanan pelanggan, Secure Erase mungkin merupakan solusi yang lebih baik karena tampaknya dirancang untuk kasus penggunaan seperti itu.Cara terbaik untuk menghapus data dari gambar mesin virtual adalah dengan menggunakan fitur TRIM. Banyak sistem operasi yang lebih baru mendukung hal ini. Hampir semua SSD saat ini mendukungnya juga.
Dan, yang membuat opsi ini lebih baik adalah bahwa SAN pun juga mendukung fitur ini dengan nama SCSI-nya UNMAP . Ini adalah perintah yang bagus untuk SAN yang menerapkan penyediaan jarang, yang merupakan fitur hebat untuk mesin virtual, terutama bila dikombinasikan dengan blok de-duplikasi.
Ketika perintah TRIM diberikan kepada SSD, firmware akan segera menandai blok-blok itu gratis untuk digunakan kembali. Beberapa SSD akan selalu mengembalikan nol untuk blok TRIM . Drive lain akan mengembalikan data yang ditentukan implementasi (yaitu, acak).
Pada sistem operasi yang mendukung TRIM, penghapusan file yang sederhana akan menandai blok untuk TRIM. Operasi TRIM yang sebenarnya dapat terjadi segera atau mungkin ditumpuk untuk dilakukan kemudian. Terkadang ada alat yang akan memaksa-TRIM file atau memindai partisi untuk semua blok yang tidak digunakan.
Kinerja TRIM di Linux masih sedikit, jadi jika Anda menggunakannya Anda ingin menyelidiki opsi Anda. Di Windows sepertinya cukup solid.
sumber
Anda memerlukan "SSD Secure Erase Utility". Jika Anda menggunakan sesuatu seperti
dd
leveling keausan mungkin muncul dan Anda akan berakhir dengan sektor cadangan yang masih berisi data klien lama. Utilitas penghapusan aman akan menghapus semua sektor pada perangkat (tidak hanya yang disajikan sebagai disk ke OS).Beberapa utilitas ini khusus untuk pabrikan tertentu, tanyakan pabrikan drive Anda untuk rekomendasinya, mereka akan tahu lebih baik daripada kami.
sumber
Saya tidak berpikir bahwa menulis 0s akan membantu Anda mencegah pelanggan lain membaca disk.
Dalam SSD, ketika Anda menulis sesuatu, prosesnya sangat berbeda dari Hard Disk normal.
Bayangkan situasi berikut ini: sel memori "kosong" dalam drive SSD semuanya diisi dengan 1s. Ketika Anda menulis sesuatu padanya, tulis 0s dan biarkan 1s tidak berubah.
Setelah, ketika Anda ingin menyimpan sesuatu yang berbeda, konten sebelumnya dan yang baru dibandingkan. Jika yang sebelumnya dapat menjadi yang baru dengan menuliskan beberapa angka 0, ok. Jika itu tidak mungkin dilakukan, sel memori lain digunakan.
"clear": 11111111 simpan pertama: 11011011
data baru: 00110011 tidak ada cara untuk membuat 11011011 menjadi 00110011 (perhatikan bahwa perlu untuk mengubah satu 0 ke 1, dan tidak mungkin untuk melakukannya dalam SSD). Jadi, sel memori lain akan digunakan.
Saat Anda TRIM drive, Anda mengatur ulang semua sel memori yang tidak digunakan ke 1. Jadi, mereka akan jelas untuk digunakan lagi. Dan data yang disimpan disimpan.
Untuk melakukan apa yang Anda inginkan: pertama, hapus (hapus) file tersebut. Sel-sel memori untuk file-file itu akan ditandai sebagai gratis. Kemudian lakukan TRIM: semua sel memori itu akan menjadi 1, tanpa ada tanda data.
sumber
Mudah dijawab: Gunakan Linux untuk memformat ulang partisi sebagai EXT4, yang memberi tahu SSD semua blok untuk siap dihapus, seperti melakukan trim pada semua sektor partisi. Efek samping adalah sejumlah kecil tulisan (struktur EXT4).
Lupakan ˋddˋ dengan acak, itu akan mengurangi banyak kehidupan SSD. Beberapa SSD cerdas dan jika mereka melihat sektor penuh diisi dengan nol mereka tidak menulis, mereka menandainya untuk dihapus.
Karena Anda tidak dapat mengetahui internal pada firmware, opsi terbaik Anda adalah memformat ulang partisi sebagai ext4 (tanpa format ulang penuh, hanya yang cepat, hanya struktur) pada kernel linux modern, ia akan melakukan trim pada seluruh partisi sebelum memformatnya.
Untuk semua yang berbicara tentang penghapusan aman, yaitu untuk seluruh SSD sekaligus, yang ditanyakan hanyalah satu partisi dari SSD dan TANPA kehilangan sisa info yang tersimpan di dalamnya (level partisi, bukan level SSD).
Kesimpulan: memformat ulang sebagai Ext4, maka jika Anda membutuhkan format lain, format ulang lagi pada format lain tersebut.
sumber