<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های محمدرضا مقدسی</title>
        <link>https://virgool.io/feed/@moghadasi</link>
        <description>Devops &amp; Cloud Engineer at Greenplus</description>
        <language>fa</language>
        <pubDate>2026-04-14 14:58:17</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1219575/avatar/aCXeJe.jpg?height=120&amp;width=120</url>
            <title>محمدرضا مقدسی</title>
            <link>https://virgool.io/@moghadasi</link>
        </image>

                    <item>
                <title>هوش مصنوعی، یادگیری ماشین و یادگیری عمیق سه اصطلاح آشنا، سه مفهوم متفاوت</title>
                <link>https://virgool.io/@moghadasi/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%88-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B9%D9%85%DB%8C%D9%82-%D8%B3%D9%87-%D8%A7%D8%B5%D8%B7%D9%84%D8%A7%D8%AD-%D8%A2%D8%B4%D9%86%D8%A7-%D8%B3%D9%87-%D9%85%D9%81%D9%87%D9%88%D9%85-%D9%85%D8%AA%D9%81%D8%A7%D9%88%D8%AA-ioprtkl6dgru</link>
                <description>مقدمه: دلیل این هم‌پوشانی مفاهیم چیست؟اگر این روزها نگاهی به اخبار فناوری بیندازید یا حتی در جمع دوستان حرف از تکنولوژی شود، تقریباً محال است نام «هوش مصنوعی»، «یادگیری ماشین» یا «یادگیری عمیق» به گوش‌تان نخورد. مسئله اینجاست که این سه واژه اغلب به‌جای هم استفاده می‌شوند؛ انگار همه‌شان یک معنا دارند. همین استفاده‌ی نادقیق باعث شده خیلی‌ها تصور کنند با مفاهیمی پیچیده و مبهم طرف‌اند.واقعیت اما ساده‌تر از این حرف‌هاست. این سه مفهوم با هم مرتبط‌اند، اما یکی نیستند. اگر کمی با حوصله جلو برویم، خیلی زود تصویر شفافی از تفاوت‌شان شکل می‌گیرد.هوش مصنوعی: نقطه شروع بیایید از کلی‌ترین واژه شروع کنیم. هوش مصنوعی یا AI را می‌توان چتری دانست که همه‌ی این مفاهیم زیر آن قرار می‌گیرند. AI در اصل یک هدف است؛ هدفی قدیمی در علوم کامپیوتر:«آیا می‌شود ماشین‌هایی ساخت که رفتارشان شبیه تفکر انسان باشد؟»وقتی ماشینی بتواند کاری انجام دهد که معمولاً به هوش انسانی نیاز دارد—مثل تشخیص صدا، تصمیم‌گیری، یا حل مسئله—می‌گوییم با هوش مصنوعی طرف هستیم.نکته‌ی جالب اینجاست که هوش مصنوعی الزاماً به معنای الگوریتم‌های عجیب و غریب نیست. بسیاری از سیستم‌های قدیمی AI صرفاً بر پایه‌ی قوانین مشخصی مثل «اگر این اتفاق افتاد، آن کار را انجام بده» ساخته شده بودند. با این حال، همان‌ها هم زیر چتر هوش مصنوعی قرار می‌گیرند.امروز هم نمونه‌های AI دوروبرمان کم نیستند: از پیشنهاد فیلم در نتفلیکس گرفته تا تشخیص چهره در گوشی یا دستیارهای صوتی مثل Siri.هوش مصنوعی، بیش از آنکه یک روش باشد، یک مقصد است.یادگیری ماشین: وقتی دیتا جای دستور را می‌گیردحالا سؤال بعدی مطرح می‌شود: رسیدن به هوش مصنوعی چطور ممکن است؟یکی از مهم‌ترین پاسخ‌ها «یادگیری ماشین» یا ML است.در برنامه‌نویسی کلاسیک، همه‌چیز با دستورالعمل‌های مشخص جلو می‌رود. برنامه‌نویس باید برای هر حالت ممکن، قانون بنویسد. اما در یادگیری ماشین، ما رویکرد را عوض می‌کنیم: به‌جای نوشتن قانون، داده‌ می‌دهیم.ماشین با دیدن حجم زیادی از داده، خودش الگوها را کشف می‌کند. مثلاً برای تشخیص گربه در تصویر:هزاران عکس از گربه‌ها به سیستم داده می‌شودالگوریتم در این تصاویر دنبال شباهت‌ها می‌گرددبعد از مدتی، وقتی تصویر جدیدی ببیند، می‌تواند حدس بزند آیا گربه‌ای در آن هست یا نه.همین منطق پشت فیلترهای اسپم ایمیل، پیشنهادهای خرید فروشگاه‌های آنلاین و خیلی از سیستم‌های پیش‌بینی قرار دارد. یادگیری ماشین به سیستم‌ها اجازه می‌دهد بدون برنامه‌نویسی مستقیم، با تجربه‌ی بیشتر، عملکرد بهتری داشته باشند.یادگیری عمیق: وقتی الگوریتم‌ها شبیه مغز فکر می‌کنندیادگیری عمیق یا DL را می‌توان پیشرفته‌ترین شاخه‌ی یادگیری ماشین دانست. اینجا پای «شبکه‌های عصبی مصنوعی» به میان می‌آید؛ ساختارهایی که الهام‌گرفته از مغز انسان هستند.در این مدل‌ها، داده از لایه‌های متعددی عبور می‌کند. هر لایه بخشی از اطلاعات را پردازش می‌کند و نتیجه را به لایه‌ی بعد می‌فرستد. دلیل نام‌گذاری «عمیق» هم دقیقاً همین تعداد زیاد لایه‌هاست.مزیت اصلی یادگیری عمیق این است که نیاز کمتری به دخالت انسان دارد. سیستم می‌تواند خودش تشخیص دهد کدام ویژگی‌ها مهم‌اند. همین قابلیت است که تشخیص گفتار، ترجمه‌ی خودکار، خودروهای خودران و مدل‌های زبانی پیشرفته را ممکن کرده است.البته این قدرت بی‌هزینه نیست. یادگیری عمیق معمولاً به داده‌های بسیار زیاد و سخت‌افزار قدرتمند نیاز دارد؛ چیزی که آن را نسبت به روش‌های ساده‌تر، پرهزینه‌تر و پیچیده‌تر می‌کند.رابطه‌ این سه مفهوم در یک نگاهاگر بخواهیم رابطه‌ی این سه مفهوم را خیلی خلاصه و ماندگار توضیح دهیم، بهترین مثال عروسک‌های تودرتوی روسی است:هوش مصنوعی (AI): بزرگ‌ترین عروسک؛ مفهوم کلی و هدف نهایییادگیری ماشین (ML): عروسک داخل آن؛ یکی از راه‌های رسیدن به AIیادگیری عمیق (DL): کوچک‌ترین عروسک؛ روش پیشرفته‌تری در دل MLدانستن این ساختار کمک می‌کنه راحت‌تر بفهمیم هر کدوم دقیقاً کجای ماجرا هستن و چه کاری انجام می‌دن.جمع‌بندی:برای اینکه از دنیای هوشمند امروز سر دربیاریم، لازم نیست ریاضی‌دان باشیم یا وارد جزئیات فنی پیچیده بشیم. همین که بدونیم «هوش مصنوعی» اسم کلی ماجراست، «یادگیری ماشین» یکی از راه‌های رسیدن بهشه و «یادگیری عمیق» نسخه پیشرفته‌تر همون مسیره، کاملاً کافیه. با همین نگاه، دفعه بعد که این اصطلاحات رو می‌شنویم، می‌دونیم دقیقاً درباره چی حرف می‌زنن.حالا سؤال جذاب‌تر اینه: به نظرتون کدوم بخش از زندگی روزمره قراره بیشترین تغییر رو با این فناوری‌ها تجربه کنه</description>
                <category>محمدرضا مقدسی</category>
                <author>محمدرضا مقدسی</author>
                <pubDate>Sun, 08 Feb 2026 12:33:33 +0330</pubDate>
            </item>
                    <item>
                <title>انتقال امن دیتا از دیسک NVMe خراب در محیط LVM</title>
                <link>https://virgool.io/@moghadasi/%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A7%D9%85%D9%86-%D8%AF%DB%8C%D8%AA%D8%A7-%D8%A7%D8%B2-%D8%AF%DB%8C%D8%B3%DA%A9-nvme-%D8%AE%D8%B1%D8%A7%D8%A8-%D8%AF%D8%B1-%D9%85%D8%AD%DB%8C%D8%B7-lvm-brgalgmhl3us</link>
                <description>گاهی وقت‌ها، در میانه‌ی یک روز کاری عادی، همه‌چیز با یک لاگ قرمز رنگ در کنسول سرور یا داشبود مانیتورینگ عوض میشه. اگر تا به حال پیام‌هایی مثل blk_update_request: critical medium error یا Buffer I/O error را دیده باشین، حتماً حس کردین که یکی از دیسک‌ها دیگه روزهای آخر عمرش را می‌گذرونه. این سناریو برای خیلی از تیم‌های SRE و دواپس آشناست. در این نوشته می‌خوام تجربه‌ای واقعی از یک سرور با دیسک‌های NVMe خراب را مرور کنم و قدم‌به‌قدم راه انتقال امن دیتا را توضیح بدم.وضعیت اولیه سرورسرور ما دو دیسک NVMe دارد:nvme0n1 → دیسک خراب (خطاهای SMART زیاد و Critical Warning فعال)nvme1n1 → دیسک سالمهر دو دیسک به عنوان Physical Volume (PV) در یک Volume Group (VG) مشترک به نام vg0 استفاده شده‌اند. دو Logical Volume (LV) داریم:vg0/os (برای سیستم‌عامل)vg0/var (برای دیتا و لاگ‌ها)VG تقریباً پر هست و اکستنت‌ها بین هر دو دیسک پخش شده‌اند. بنابراین اگر یک PV را از دست بدیم، عملاً کل دیتا دچار مشکل می‌شود.چرا ddrescue یا کلون مستقیم کافی نیست؟شاید اولین ایده این باشه که کل دیسک خراب را با ابزارهایی مثل ddrescue به دیسک سالم کلون کنیم. این روش وقتی جواب می‌ده که هر دیسک مستقل باشه. اما وقتی LVM داده‌ها را بین دو PV تقسیم کرده، کلون کردن یک دیسک روی دیگری یا جایگزینی دستی، مشکلاتی مثل تکرار UUID و ناسازگاری LVM ایجاد می‌کنه.راه‌حل: اضافه کردن دیسک جدید و انتقال دیتادر چنین شرایطی بهترین و ایمن‌ترین روش این است که یک دیسک جدید (هم‌ظرفیت یا بزرگ‌تر) به سرور اضافه کنیم و با ابزارهای خود LVM داده‌های روی دیسک خراب را به دیسک جدید منتقل کنیم. به این روش در دنیای استوریج pvmove migration می‌گیم.مرحله اول: آماده‌سازی دیسک جدیدابتدا دیسک جدید (مثلاً nvme2n1) را پارتیشن‌بندی و به عنوان PV معرفی می‌کنیم:parted /dev/nvme2n1 -- mklabel gpt
parted /dev/nvme2n1 -- mkpart pv lvm 1MiB 100%

# Create PV on new disk
pvcreate /dev/nvme2n1p1

# Activate VG
vgchange -ay

# Add new PV to VG
vgextend vg0 /dev/nvme2n1p1
نکته: می‌توان کل دیسک را بدون پارتیشن هم به PV تبدیل کرد. در این صورت به جای nvme2n1p1 باید از /dev/nvme2n1 استفاده کنید.مرحله دوم: جابه‌جایی داده‌ها با pvmoveاینجا اتفاق اصلیه میفته. pvmove داده‌های LVM را بلوک‌به‌بلوک از PV خراب به PV سالم/جدید منتقل می‌کند.# Show LV to PV mapping
lvs -a -o name,lv_size,seg_count,devices

# Move all extents from bad disk to new disk
pvmove -i 5 /dev/nvme0n1 /dev/nvme2n1p1
گزینه -i 5 باعث می‌شه هر ۵ ثانیه یک بار وضعیت کار نمایش داده شود.اگر خطا داد، می‌توانید فقط بخشی از یک LV خاص را منتقل کنید:pvmove -i 5 -n var /dev/nvme0n1 /dev/nvme2n1p1
مرحله سوم: حذف دیسک خراب از VGبعد از اینکه همه داده‌ها منتقل شد، دیسک خراب را از VG خارج کنید:vgreduce vg0 /dev/nvme0n1
pvremove /dev/nvme0n1
حالا دیگر LVM هیچ وابستگی‌ای به دیسک خراب ندارد و می‌توانید آن را از سرور جدا کنید.مرحله چهارم: اطمینان از Boot شدن سیستمبرای اینکه سیستم بدون مشکل بوت شود، لازم است بوت‌لودر (GRUB) روی دیسک‌های سالم نصب و به‌روز شود:mount /dev/vg0/os /mnt
mount /dev/nvme1n1p1 /mnt/boot   # اگر /boot جداست
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

# Install GRUB
grub-install /dev/nvme1n1
grub-install /dev/nvme2n1

update-grub
update-initramfs -u   # or dracut -f, depending on distro

exit
umount -R /mnt
چند توصیه عملیبکاپ اولویت اول است. قبل از هر اقدامی از دیتای حیاتی با rsync یا snapshot بکاپ بگیرید.مانیتورینگ SMART جدی گرفته شود. بیشتر NVMeها شاخص‌هایی مثل Available Spare یا Media Errors دارند. وقتی این‌ها شروع به هشدار می‌کنند، منتظر خرابی نشوید.پایداری از طراحی شروع می‌شود. اگر دیتا حیاتی است، از اول باید به سراغ RAID1 یا RAID10 بروید تا چنین مشکلاتی به مایگریت‌های اضطراری ختم نشود.جمع‌بندیوقتی یک دیسک NVMe در محیط LVM خراب می‌شود، کل VG در معرض خطر است. بهترین راه نجات، اضافه کردن یک دیسک جدید و مایگریت داده‌ها با ابزارهای LVM است. این روش، داده‌ها را بلوک‌به‌بلوک به مقصد سالم می‌برد و در نهایت اجازه می‌دهد دیسک خراب را بدون از دست رفتن سرویس کنار بگذاریم.</description>
                <category>محمدرضا مقدسی</category>
                <author>محمدرضا مقدسی</author>
                <pubDate>Wed, 24 Sep 2025 13:12:57 +0330</pubDate>
            </item>
                    <item>
                <title>قسمت دوم-راهنمای جیبی کوبرنتیز-Provisioning استاتیک یا داینامیک در Kubernetes: انتخاب با شماست!</title>
                <link>https://virgool.io/@moghadasi/%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%AC%DB%8C%D8%A8%DB%8C-%DA%A9%D9%88%D8%A8%D8%B1%D9%86%D8%AA%DB%8C%D8%B2-provisioning-%D8%A7%D8%B3%D8%AA%D8%A7%D8%AA%DB%8C%DA%A9-%DB%8C%D8%A7-%D8%AF%D8%A7%DB%8C%D9%86%D8%A7%D9%85%DB%8C%DA%A9-%D8%AF%D8%B1-kubernetes-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D8%A8%D8%A7-%D8%B4%D9%85%D8%A7%D8%B3%D8%AA-krmb1szia6tw</link>
                <description>از سری پست‌های راهنمای جیبی کوبرنتیز: مفاهیم کلیدی به زبان ساده قسمت دوم را با هم شروع می‌کنیم.توی پست قبلی درباره PV و PVC صحبت کردیم.توی مثال اولی ک زدیم ی نکته‌ای بود. اگر گفتین چی بود؟بیاین دوباره با هم مثال مرور کنیم:مثال سادهفرض کن یه برنامه داریم که نقاشی‌های بچه‌ها رو نگه می‌داره. این برنامه توی یه خونه (پاد) زندگی می‌کنه. حالا این برنامه می‌خواد نقاشی‌ها رو جایی ذخیره کنه که اگه خونه‌ش خراب شد، نقاشی‌ها گم نشن.اول PV درست می‌کنیم: مدیر شهر (یعنی ادمین کوبرنتیز) یه کمد توی انبار جادویی درست می‌کنه. مثلاً می‌گه: «این کمد ۱۰ گیگابایته و خیلی سریعه.» این می‌شه PV.بعد PVC درست می‌کنیم: برنامه نقاشی می‌گه: «من یه کمد می‌خوام که حداقل ۵ گیگابایت جا داشته باشه.» این درخواست می‌شه PVC. حالا سیستم کوبرنتیز می‌گرده و می‌بینه که اون کمد ۱۰ گیگابایتی PV برای این درخواست مناسبه. پس کمد رو به برنامه می‌ده.نکته‌اش اینجا بود که برنامه من فقط ۵گیگ فضا نیاز داشت. ولی کوبرنتیز بهش یه کمد ۱۰گیگی داده. یعنی ۵گیگ اضافه از کیسه خلیفه بخشیده و اینجوری ۵گیگ فضا هدر میره. برای حل این مشکل کوبرنتیز آمده یه حرکتی زده که موضوع این پست هست.داستان شهر جادویی و کمدهای برنامه‌هاتصور کن توی یه شهر جادویی به اسم کوبرنتیز، یه عالمه خونه کوچولو هست که اسمشون پاد (Pod) هست. توی این خونه‌ها، برنامه‌ها زندگی می‌کنن و وسایلشون رو توی کمدهای جادویی به اسم PersistentVolume (PV) نگه می‌دارن. هر وقت برنامه‌ها به کمد نیاز دارن، یه نامه به اسم PersistentVolumeClaim (PVC) می‌فرستن و می‌گن: «من یه کمد می‌خوام!»حالا بیایم ببینیم این کمدها چطوری درست می‌شن و به برنامه‌ها داده می‌شن.روش قدیمی: Static Provisioning (تهیه استاتیک)توی روش قدیمی، یه آقا یا خانم دقیق که مدیر شهره، از قبل یه سری کمد آماده می‌کنه و توی انبار می‌ذاره. مثلاً:یه کمد کوچیک ۵ گیگابایتییه کمد متوسط ۱۰ گیگابایتییه کمد بزرگ ۲۰ گیگابایتیاین کمدها منتظرن که برنامه‌ها بیان و درخواست کنن.فرض کن یه برنامه میاد و می‌گه: «من یه کمد می‌خوام که ۷ گیگابایت جا داشته باشه.» مدیر شهر نگاه می‌کنه و می‌گه: «خب، کمد ۵ گیگابایتی که برات کوچیکه، پس کمد ۱۰ گیگابایتی رو بهت می‌دم!» برنامه اون کمد ۱۰ گیگابایتی رو می‌گیره، ولی فقط ۷ گیگابایتش رو استفاده می‌کنه و ۳ گیگابایت دیگه خالی می‌مونه و هدر می‌ره.مشکل این روش چیه؟مثل اینه که تو یه بشقاب بزرگ کیک داشته باشی، ولی فقط یه تیکه کوچیک بخوای بخوری و بقیه‌ش رو دور بریزی. یا اینکه مدیر کوبرنتیز باید از قبل حدس بزنه تو به چه اندازه کمد نیاز داری، و اگه اشتباه حدس بزنه، یا کمدت زیادی بزرگه یا زیادی کوچیک!روش جدید و باحال: Dynamic Provisioning (تخصیص دینامیک منابع) با StorageClassحالا توی روش جدید، یه چیز جادویی به اسم StorageClass داریم. StorageClass مثل یه دستور پخت کیکه که به کوبرنتیز می‌گه: «هر وقت برنامه‌ای کمد خواست، براش یه کمد تازه درست کن!» توی این دستور پخت نوشته شده که کمد از چه موادی باشه (مثلاً هارد دیسکش SSD  باشه یا HDD یا اصلا روی دیسک لوکال باشه یا روی فضای ابری) و چه شکلی باشه (مثلاً سریع باشه یا ارزون باشه).وقتی برنامه میاد و می‌گه: «من یه کمد ۷ گیگابایتی می‌خوام»، کوبرنتیز به جای اینکه دنبال کمد آماده بگرده، همون موقع یه کمد ۷ گیگابایتی درست می‌کنه و به برنامه می‌ده. دقیقاً اندازه‌ای که برنامه خواسته، نه بیشتر و نه کمتر!خوبی این روش چیه؟مثل اینه که بچه به مامانش میگه: «من یه تیکه کیک کوچولو می‌خوام»، و مامان همون موقع براش یه تیکه به اندازه دلخواه فرزندش ببره. نه چیزی هدر می‌ره، نه لازم نیست از قبل یه کیک بزرگ آماده باشه!یه مثال دیگهفرض کن یه برنامه داریم که نقاشی‌های تو رو نگه می‌داره.توی روش Static Provisioning (تهیه استاتیک):مدیر شهر یه کمد ۱۰ گیگابایتی آماده کرده.تو می‌گی: «من یه کمد می‌خوام که ۵ گیگابایت نقاشی توش جا بشه.»مدیر شهر کمد ۱۰ گیگابایتی رو بهت می‌ده.تو فقط ۵ گیگابایت ازش استفاده می‌کنی و ۵ گیگابایت دیگه خالی می‌مونه و هدر می‌ره.توی روش Dynamic Provisioning (تهیه دینامیک):کوبرنتیز یه دستور پخت داره به اسم StorageClass که می‌گه: «هر وقت برنامه‌ای یک کمد خواست، براش میره یه کمد جدید بساز بر اساس اندازه و رنگی که برنامه گفته میسازه.»تو می‌گی: «من یه کمد ۵ گیگابایتی می‌خوام.»کوبرنتیز همون موقع یه کمد ۵ گیگابایتی درست می‌کنه و بهت می‌ده.تو همه ۵ گیگابایت رو برای نقاشی‌هات استفاده می‌کنی و چیزی هم هدر نمی‌ره!خلاصه داستانStatic Provisioning (تهیه استاتیک): کوبرنتیز از قبل کمدهای آماده با اندازه‌های ثابت داره. وقتی تو درخواست می‌دی، یه کمد آماده بهت می‌ده، حتی اگه بزرگ‌تر از نیازت باشه.Dynamic Provisioning (تهیه دینامیک): یه دستور پخت جادویی به اسم StorageClass هست که هر وقت تو کمد بخوای، همون موقع یه کمد به اندازه‌ای که گفتی برات درست می‌کنه.مثل اینه که توی روش قدیمی، یه جعبه بزرگ اسباب‌بازی بهت بدن که فقط نصفش رو بخوای، ولی توی روش جدید، یه جعبه کوچولو فقط به اندازه اسباب‌بازی‌های مورد علاقه‌ت بهت بدن!</description>
                <category>محمدرضا مقدسی</category>
                <author>محمدرضا مقدسی</author>
                <pubDate>Sat, 19 Apr 2025 09:58:52 +0330</pubDate>
            </item>
                    <item>
                <title>قسمت اول-راهنمای جیبی کوبرنتیز-PV و PVC به زبان خیلی خیلی ساده</title>
                <link>https://virgool.io/@moghadasi/pv-%D9%88-pvc-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%AE%DB%8C%D9%84%DB%8C-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-cexv2twtroib</link>
                <description> در اولین پست از سری پست‌ها راهنمای جیبی کوبرنتیز: مفاهیم کلیدی به زبان ساده میخوام مفهوم PersistentVolume (PV) و PersistentVolumeClaim (PVC) توی کوبرنتیز با یک یه داستان ساده توضیح بدم. داستان خونه و کمد جادوییفرض کن یه شهر بزرگ به اسم کوبرنتیز داریم. توی این شهر، برنامه‌ها مثل آدما زندگی می‌کنن و هر برنامه یه خونه داره که بهش می‌گیم پاد (Pod). حالا این برنامه‌ها گاهی چیزایی دارن که باید نگه دارن، مثلاً اسباب‌بازی، کتاب، یا حتی نقاشی‌هاشون. اما یه مشکل هست: وقتی خونه‌شون (پاد) خراب می‌شه یا جابه‌جا می‌شه، همه چیزایی که دارن گم می‌شه! 😱برای همین، توی این شهر یه انبار بزرگ و جادویی درست کردن که اسمش گذاشتن PersistentVolume و چون حوصله نداریم PV صداش می‌کنیم. این انبار یه جای امن و بزرگه که می‌تونه اسباب‌بازی‌ها و وسایل برنامه‌ها رو برای همیشه نگه داره، حتی اگه خونه‌شون (پاد) خراب بشه.ولی یه مشکل دیگه هست! این انبار خیلی بزرگه و برنامه‌ها نمی‌تونن مستقیم برن اونجا و وسایلشون رو بذارن. برای همین، یه چیزی درست کردن به اسم PersistentVolumeClaim یا به اختصار PVC. این PVC مثل یه نامه درخواست به انبارداره. برنامه می‌گه: «جناب انباردار! من یه کمد کوچیک تو انبار می‌خوام که فلان‌قدر جا داشته باشه و فلان‌جور باشه.» اگه انبار جای مناسب داشته باشه، یه کمد بهش می‌ده و می‌گه: «این مال توئه، وسایلت رو بذار توش!»حالا این PV و PVC چیه؟PersistentVolume (PV) این مثل یه کمد یا انبار توی شهر کوبرنتیزه. یه جای ذخیره‌سازیه که از قبل آماده شده و می‌تونه اطلاعات رو نگه داره. مثلاً می‌تونه یه بخش از هارد دیسک سرور باشه، یا یه فضای ابری مثل گوگل درایو. مهم اینه که این کمد همیشه هست، حتی اگه برنامه‌ها جابه‌جا بشن.PersistentVolumeClaim (PVC)این مثل درخواستیه که برنامه می‌فرسته تا یه کمد از انبار بگیره. توی این درخواست، برنامه می‌گه: «من یه کمد می‌خوام که مثلاً ۵ گیگ جا داشته باشه و سریع باشه.» اگه انبار (PV) جای مناسب داشته باشه، به برنامه یه کمد می‌ده و برنامه می‌تونه وسایلش رو توش بذاره.مثال سادهفرض کن یه برنامه داریم که نقاشی‌های بچه‌ها رو نگه می‌داره. این برنامه توی یه خونه (پاد) زندگی می‌کنه. حالا این برنامه می‌خواد نقاشی‌ها رو جایی ذخیره کنه که اگه خونه‌ش خراب شد، نقاشی‌ها گم نشن.اول PV درست می‌کنیم: مدیر شهر (یعنی ادمین کوبرنتیز) یه کمد توی انبار جادویی درست می‌کنه. مثلاً می‌گه: «این کمد ۱۰ گیگابایته و خیلی سریعه.» این می‌شه PV.بعد PVC درست می‌کنیم: برنامه نقاشی می‌گه: «من یه کمد می‌خوام که حداقل ۵ گیگابایت جا داشته باشه.» این درخواست می‌شه PVC. حالا سیستم کوبرنتیز می‌گرده و می‌بینه که اون کمد ۱۰ گیگابایتی PV برای این درخواست مناسبه. پس کمد رو به برنامه می‌ده.استفاده از کمد: حالا برنامه نقاشی‌هاش رو توی این کمد می‌ذاره. هر وقت خونه‌ش (پاد) خراب بشه یا جابه‌جا بشه، نقاشی‌ها توی کمد امنن و گم نمی‌شن. دفعه بعد که برنامه یه خونه جدید می‌گیره، دوباره به همون کمد وصل می‌شه و نقاشی‌ها رو می‌بینه.یه مثال واقعی‌ترفرض کن یه وبسایت گالری عکس داری. این وبسایت توی کوبرنتیز کار می‌کنه و عکس‌های کاربرها رو ذخیره می‌کنه.PV: یه فضای ۱۰۰ گیگابایتی توی یه سرور یا فضای ابری (مثل Amazon S3) که از قبل آماده شده.PVC: وبسایت می‌گه: «من ۲۰ گیگابایت جا می‌خوام برای ذخیره عکس‌ها.» این درخواست PVCه.کوبرنتیز یه تیکه از اون ۱۰۰ گیگابایت PV رو به وبسایت می‌ده. حالا وبسایت می‌تونه عکس‌ها رو اونجا ذخیره کنه و حتی اگه سرورش خاموش بشه، عکس‌ها گم نمی‌شن.تفاوت PV و PVC به زبان سادهPV مثل یه کمد آماده‌ست که جای ذخیره داره.PVC مثل یه نامه‌ست که می‌گه: «من فلان‌قدر جا می‌خوام.»کوبرنتیز این دو تا رو به هم وصل می‌کنه تا برنامه‌ها بتونن دیتاهاشون رو جای مطمئن نگه دارن.خب  داستان PV و PVC این بخشش اینجا تموم شد. امیدوارم دوستش داشته باشین.</description>
                <category>محمدرضا مقدسی</category>
                <author>محمدرضا مقدسی</author>
                <pubDate>Tue, 15 Apr 2025 10:13:55 +0330</pubDate>
            </item>
            </channel>
</rss>