Pindahkan volume logis ke disk fisik baru

14

Saya memiliki tiga volume logis dalam grup volume tunggal menggunakan volume fisik tunggal (seluruh disk / dev / sda).

Saya sekarang ingin memindahkan salah satu dari volume logis ke disk baru yang lebih cepat, yaitu, pergi dari:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo  → mounted to /foo
    |-vg0-bar  → mounted to /bar

untuk:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo →  mounted to /foo

/dev/sdb
    |-vg1-bar  → mounted to /bar

Dari apa yang saya mengerti, saya tidak dapat menggunakan pvmoveatau vgsplitkarena hanya ada satu volume fisik di grup volume yang ada.

Apa pendekatan yang baik untuk mencapai ini (lebih disukai online, membuat grup volume baru untuk disk baru bukan keharusan)?

htorque
sumber
Saya memang memeriksa banyak pertanyaan serupa, tetapi sejauh yang saya mengerti, itu tidak menggambarkan situasi saya. Pertanyaan bonus: Apakah menggunakan seluruh disk sebagai volume fisik adalah ide yang buruk? Tampaknya keputusan ini membuat solusinya jauh lebih sulit dalam kasus saya.
htorque
2
Apakah Anda memiliki alasan tertentu yang tidak ingin menambahkan disk fisik baru sebagai volume fisik ke grup volume yang ada?
Ulrich Schwarz
Tidak semuanya. Jika itu membuat segalanya lebih mudah, disk baru dapat menjadi bagian dari vg0 juga.
htorque

Jawaban:

21

Satu solusi kelompok volume:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb

Dua solusi kelompok volume:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt

Sekarang bagian yang sulit, semua kegiatan HARUS berhenti pada /bar:

 cd /mnt ; ( cd /bat ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar

dimana

  • pvcreate hapus semua data pada disk (dan bersiap untuk LVM)
  • lvcreate Anda dapat membuat volume logis lvol1, Anda menentukan nama lv dengan -n bar
  • Saya menggunakan sintaks HP-UX untuk lv, Anda mungkin harus menggunakan /dev/mapper/myvg-mylvsintaks

Setelah Anda memverifikasi data, OK, di tempat baru:

  • Anda dapat dengan aman menghapus yang lama /bar
  • edit /etc/fstabuntuk menggunakan yang baru/bar
Archemar
sumber
Wow, sepertinya saya salah membaca pvmovehalaman manual. Dalam hal ini saya jelas akan setuju dengan solusi satu volume grup. :)
htorque
Sebenarnya, seseorang dapat menggunakan vgsplitsetelah pvmoveuntuk mencapai solusi kelompok dua volume sedikit lebih mudah (namun, volume logis masih perlu dinonaktifkan menggunakan lvchange).
htorque
1
Kegunaan "pvmove" adalah alasan yang sangat bagus untuk menggunakan satu VG daripada beberapa VG.
tgharold
1
Sepertinya vgreducekemudian dapat digunakan untuk menghapus volume lama jika itu adalah persyaratan (Itu bukan untuk pertanyaan spesifik, tetapi pertanyaan yang menanyakan tentang memindahkan semua volume kemungkinan akan ditandai sebagai duplikat)
Gert van den Berg
Pengalaman saya saat ini adalah bahwa dalam solusi vg tunggal, pvmovememerlukan -nbendera untuk menentukan volume logis. Atau tertulis Physical volume /dev/vg0/bar not found Run `pvmove --help' for more information.pesan kesalahan. Halaman manual mengatakan hal yang sama. Bolehkah saya memasukkannya ke dalam postingan?
peterh