pool فهرست و backend ذخیره‌سازی را به libvirt معرفی می‌کند؛ volume هنوز باید به guest درست متصل شود. امشب یک directory pool آزمایشگاهی و disk دادهٔ جدا می‌سازیم.

این جلسه بخشی از دورهٔ لینوکس ۳۰۵ در ۶۰ شب است.

جایگاه در دوره: هدف‌های 351.4 آزمون 305-300.

محیط: hv-a، system URI، directory جدید؛ این درس از pool پیش‌فرض یا disk root مهمان استفاده نمی‌کند.

sudo install -d -o libvirt-qemu -g kvm -m 750 /var/lib/libvirt/images/lpic305-pool
virsh -c qemu:///system pool-define-as lpic305-pool dir --target /var/lib/libvirt/images/lpic305-pool
virsh -c qemu:///system pool-start lpic305-pool
virsh -c qemu:///system pool-autostart lpic305-pool
virsh -c qemu:///system vol-create-as lpic305-pool lab01-data.qcow2 2G --format qcow2
virsh -c qemu:///system vol-list lpic305-pool

pool-start با pool-build یکسان نیست؛ backendهای directory، LVM، NFS و block نیاز و پیامد متفاوت دارند. pool تازهٔ dir با directory آماده نیاز به format دیسک فیزیکی ندارد.

اتصال disk داده#

lab01 را shutdown و خاموشی کامل را تأیید کن. مسیر volume را با vol-path بگیر؛ سپس disk را با target آزاد به config متصل کن:

virsh -c qemu:///system attach-disk lab01 \
  /var/lib/libvirt/images/lpic305-pool/lab01-data.qcow2 vdc \
  --driver qemu --subdriver qcow2 --targetbus virtio --config
virsh -c qemu:///system start lab01

داخل guest با lsblk اندازه، serial/target و خالی بودن همین disk دو گیگابایتی را تأیید کن. format/mount فقط روی disk دادهٔ آزمایشگاهی و بعد از تطبیق کامل انجام شود؛ در این قرارداد vda دیسک root و vdb دیسک seed است؛ vdc را فقط اگر در domblklist آزاد است انتخاب کن. نام vdc در host دیسک فیزیکی نیست و نام guest می‌تواند با topology عوض شود.

آزمون: root disk سالم بماند، volume جدید در domblklist و guest ظاهر شود و فایل marker روی filesystem داده پس از reboot باقی باشد.

بازگشت: guest را خاموش، mount/fstab مربوط را داخل آن اصلاح و disk target دقیق را detach کن. pool-undefine داده را پاک نمی‌کند؛ vol-delete فایل volume را حذف می‌کند و فقط پس از backup/قطع وابستگی مجاز است.

منبع: storage libvirt ، Pool XML ، فرمان‌های virsh .