لینوکس ۳۰۵؛ شب ۳۸: profile، storage و محدودیت منابع در LXD
فهرست نوشته
profile تنظیم مشترک است و تغییر آن میتواند چند instance را عوض کند. امشب profile مخصوص آزمایش میسازیم تا سقف حافظه و CPU را بدون تغییر default همهٔ کانتینرها اعمال کنیم.
این جلسه بخشی از دورهٔ لینوکس ۳۰۵ در ۶۰ شب است.
جایگاه در دوره: هدفهای 352.2 آزمون 305-300.
محیط: lxd-a و ct305 شب ۳۷؛ pool نوع dir. مقادیر آموزشیاند و تضمین ظرفیت برای workload واقعی نیستند.
sudo lxc profile copy default lab305-small
sudo lxc profile set lab305-small limits.memory 512MiB
sudo lxc profile set lab305-small limits.cpu 1
sudo lxc profile assign ct305 lab305-small
sudo lxc config show ct305 --expanded
sudo lxc exec ct305 -- cat /proc/self/cgroup
assign فهرست profile را جایگزین میکند. کپی default دستگاه root و eth0 را حفظ کرده؛ اگر فقط profile فاقد دستگاه بدهی، instance ممکن است دیگر boot/network نداشته باشد. مقدار local روی instance میتواند inherited را override کند؛ show معمولی و –expanded را مقایسه کن.
دیسک مستقل از root#
sudo lxc storage volume create lpic305-dir lab305-data
sudo lxc storage volume attach lpic305-dir lab305-data ct305 data305 /srv/data
sudo lxc exec ct305 -- sh -c 'printf "volume\n" > /srv/data/probe'
sudo lxc storage volume show lpic305-dir lab305-data
custom volume object جداست؛ backup instance الزاماً backup همهٔ volumeهای خارجی نیست. UID/GID روی mount و نگاشت کانتینر unprivileged را بررسی کن؛ برای رفع خطا permission سراسری 777 نده.
driver dir را دارای quota سخت اندازهٔ دیسک فرض نکن. برای تمرین size روی root یا volume، مستندات driver دارای quota مانند ZFS/Btrfs و backing filesystem مناسب را در محیط جدا دنبال کن.
بررسی: config مؤثر، گزارش مصرف instance و controller میزبان را مقایسه کن؛ نمایش free داخل کانتینر بهتنهایی شاهد اعمال سقف نیست. برنامهٔ ساده با این سقف باید اجرا شود؛ OOM عمدی لازم نیست.
بازگشت: profile را به default برگردان؛ پس از backup، volume را detach کن. حذف volume داده را نابود میکند و فقط برای object دورریختنی مجاز است.
منبع: profileها ، volumeها ، driver dir .