ലോജിക്കൽ വോളിയം മാനേജ്uമെന്റിൽ (LVM) നേർത്ത പ്രൊവിഷനിംഗ് വോള്യങ്ങൾ സജ്ജീകരിക്കുക - ഭാഗം IV


ലോജിക്കൽ വോളിയം മാനേജ്മെന്റിന് സ്നാപ്പ്ഷോട്ടുകളും തിൻ പ്രൊവിഷനിംഗും പോലുള്ള മികച്ച സവിശേഷതകൾ ഉണ്ട്. മുമ്പ് (ഭാഗം - III) ലോജിക്കൽ വോളിയം എങ്ങനെ സ്നാപ്പ്ഷോട്ട് ചെയ്യാമെന്ന് ഞങ്ങൾ കണ്ടു. ഇവിടെ ഈ ലേഖനത്തിൽ, LVM-ൽ എങ്ങനെ നേർത്ത പ്രൊവിഷനിംഗ് വോള്യങ്ങൾ സജ്ജീകരിക്കാം എന്ന് നോക്കാം.

ഒരു നേർത്ത പൂളിനുള്ളിൽ വെർച്വൽ ഡിസ്കുകൾ സൃഷ്ടിക്കുന്നതിന് lvm-ൽ Thin Provisioning ഉപയോഗിക്കുന്നു. എന്റെ സെർവറിൽ എനിക്ക് 15GB സംഭരണ ശേഷി ഉണ്ടെന്ന് നമുക്ക് അനുമാനിക്കാം. എനിക്ക് ഇതിനകം 5 ജിബി സ്റ്റോറേജ് ഉള്ള 2 ക്ലയന്റുകൾ ഉണ്ട്. നിങ്ങളാണ് മൂന്നാമത്തെ ക്ലയന്റ്, നിങ്ങൾ 5GB സ്റ്റോറേജ് ആവശ്യപ്പെട്ടു. അന്ന് ഞങ്ങൾ 5GB മുഴുവൻ (കട്ടിയുള്ള വോളിയം) നൽകാൻ ഉപയോഗിക്കുന്നു, എന്നാൽ നിങ്ങൾക്ക് ആ 5GB സ്റ്റോറേജിൽ നിന്ന് 2GB ഉപയോഗിക്കാം, 3GB സൗജന്യമായിരിക്കും, അത് നിങ്ങൾക്ക് പിന്നീട് പൂരിപ്പിക്കാം.

എന്നാൽ നേർത്ത പ്രൊവിഷനിംഗിൽ നമ്മൾ ചെയ്യുന്നത്, വലിയ വോളിയം ഗ്രൂപ്പിന്റെ ഉള്ളിൽ ഒരു നേർത്ത കുളം നിർവചിക്കുകയും ആ നേർത്ത കുളത്തിനുള്ളിലെ നേർത്ത വോള്യങ്ങൾ നിർവചിക്കുകയും ചെയ്യുന്നു. അതിനാൽ, നിങ്ങൾ എഴുതുന്ന ഫയലുകൾ സംഭരിക്കപ്പെടുകയും നിങ്ങളുടെ സംഭരണം 5GB ആയി കാണിക്കുകയും ചെയ്യും. എന്നാൽ മുഴുവൻ 5GB മുഴുവൻ ഡിസ്കും അനുവദിക്കില്ല. മറ്റ് ഉപഭോക്താക്കൾക്കും ഇതേ നടപടിക്രമം നടത്തും. ഞാൻ പറഞ്ഞതുപോലെ 2 ക്ലയന്റുകളാണുള്ളത്, നിങ്ങൾ എന്റെ മൂന്നാമത്തെ ക്ലയന്റാണ്.

അതിനാൽ, ക്ലയന്റുകൾക്കായി ഞാൻ ആകെ എത്ര ജിബി അനുവദിച്ചിട്ടുണ്ടെന്ന് നമുക്ക് ഊഹിക്കാം? മൊത്തത്തിൽ 15GB ഇതിനകം പൂർത്തിയായി, ആരെങ്കിലും എന്റെ അടുത്ത് വന്ന് 5GB ചോദിച്ചാൽ എനിക്ക് നൽകാമോ? ഉത്തരം അതെ, ഇവിടെ നേർത്ത പ്രൊവിഷനിംഗിൽ ഞാൻ 15GB അസൈൻ ചെയ്uതിട്ടുണ്ടെങ്കിലും നാലാമത്തെ ക്ലയന്റിനായി 5GB നൽകാം.

മുന്നറിയിപ്പ്: 15GB മുതൽ, 15GB-യിൽ കൂടുതൽ പ്രൊവിഷൻ ചെയ്യുകയാണെങ്കിൽ അതിനെ ഓവർ പ്രൊവിഷനിംഗ് എന്ന് വിളിക്കുന്നു.

ഞാൻ നിങ്ങൾക്ക് 5GB നൽകിയിട്ടുണ്ട്, എന്നാൽ നിങ്ങൾ 2GB മാത്രമേ ഉപയോഗിക്കൂ, മറ്റ് 3GB സൗജന്യമായിരിക്കും. കട്ടിയുള്ള പ്രൊവിഷനിംഗിൽ ഞങ്ങൾക്ക് ഇത് ചെയ്യാൻ കഴിയില്ല, കാരണം അത് ആദ്യം തന്നെ മുഴുവൻ സ്ഥലവും അനുവദിക്കും.

നേർത്ത പ്രൊവിഷനിംഗിൽ, ഞാൻ നിങ്ങൾക്കായി 5 ജിബി നിർവചിക്കുകയാണെങ്കിൽ, ഒരു വോളിയം നിർവചിക്കുമ്പോൾ അത് മുഴുവൻ ഡിസ്ക് സ്ഥലവും അനുവദിക്കില്ല, നിങ്ങളുടെ ഡാറ്റാ റൈറ്റ് അനുസരിച്ച് അത് 5 ജിബി വരെ വളരും, നിങ്ങൾക്കത് മനസ്സിലായി! നിങ്ങളെപ്പോലെ തന്നെ, മറ്റ് ക്ലയന്റുകളും മുഴുവൻ വോള്യങ്ങളും ഉപയോഗിക്കില്ല, അതിനാൽ ഒരു പുതിയ ക്ലയന്റിലേക്ക് 5GB ചേർക്കാനുള്ള അവസരമുണ്ടാകും, ഇതിനെ ഓവർ പ്രൊവിഷനിംഗ് എന്ന് വിളിക്കുന്നു.

എന്നാൽ ഓരോ വോളിയം വളർച്ചയും നിരീക്ഷിക്കേണ്ടത് നിർബന്ധമാണ്, ഇല്ലെങ്കിൽ അത് ഒരു ദുരന്തത്തിൽ കലാശിക്കും. ഓവർ പ്രൊവിഷനിംഗ് പൂർത്തിയാകുമ്പോൾ, എല്ലാ 4 ക്ലയന്റുകളും ഡിസ്കിലേക്ക് ഡാറ്റ മോശമായി എഴുതിയാൽ നിങ്ങൾക്ക് ഒരു പ്രശ്uനം നേരിടേണ്ടി വന്നേക്കാം, കാരണം അത് നിങ്ങളുടെ 15GB നിറയ്ക്കുകയും വോളിയം കുറയാൻ ഓവർഫ്ലോ ചെയ്യുകയും ചെയ്യും.

  1. LVM ഉപയോഗിച്ച് ലിനക്സിൽ ഡിസ്ക് സ്റ്റോറേജ് സൃഷ്ടിക്കുക – ഭാഗം 1
  2. ലിനക്സിൽ LVM-കൾ എങ്ങനെ വിപുലീകരിക്കാം/കുറയ്ക്കാം - ഭാഗം II
  3. LVM-ൽ ലോജിക്കൽ വോളിയത്തിന്റെ സ്നാപ്പ്ഷോട്ട് എങ്ങനെ സൃഷ്ടിക്കാം/പുനഃസ്ഥാപിക്കാം - ഭാഗം III

  1. ഓപ്പറേറ്റിംഗ് സിസ്റ്റം - LVM ഇൻസ്റ്റലേഷനോടുകൂടിയ CentOS 6.5
  2. സെർവർ IP – 192.168.0.200

ഘട്ടം 1: തിൻ പൂളും വോള്യങ്ങളും സജ്ജീകരിക്കുക

നേർത്ത കുളവും നേർത്ത വോള്യങ്ങളും എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് പ്രായോഗികമായി ചെയ്യാം. ആദ്യം നമുക്ക് വോളിയം ഗ്രൂപ്പിന്റെ ഒരു വലിയ വലിപ്പം ആവശ്യമാണ്. ഇവിടെ ഞാൻ 15GB ഉപയോഗിച്ച് വോളിയം ഗ്രൂപ്പ് സൃഷ്ടിക്കുകയാണ്. ഇപ്പോൾ, താഴെയുള്ള കമാൻഡ് ഉപയോഗിച്ച് വോളിയം ഗ്രൂപ്പ് ലിസ്റ്റ് ചെയ്യുക.

# vgcreate -s 32M vg_thin /dev/sdb1

അടുത്തതായി, നേർത്ത പൂളും വോള്യങ്ങളും സൃഷ്ടിക്കുന്നതിന് മുമ്പ്, ലോജിക്കൽ വോളിയം ലഭ്യതയുടെ വലുപ്പം പരിശോധിക്കുക.

# vgs
# lvs

ഫയൽ സിസ്റ്റത്തിന് സ്ഥിരസ്ഥിതി ലോജിക്കൽ വോള്യങ്ങൾ മാത്രമേ ഉള്ളൂ എന്നും മുകളിലെ എൽവിഎസ് ഔട്ട്പുട്ടിൽ സ്വാപ്പ് ഉണ്ടെന്നും നമുക്ക് കാണാൻ കഴിയും.

വോളിയം ഗ്രൂപ്പിൽ (vg_thin) 15GB-നായി ഒരു നേർത്ത പൂൾ സൃഷ്ടിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

# lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin

  1. -L – വോളിയം ഗ്രൂപ്പിന്റെ വലുപ്പം
  2. –തിൻപൂൾ – ഒരു തിൻപൂൾ സൃഷ്ടിക്കാൻ
  3. tp_tecmint_pool– തിൻ പൂളിന്റെ പേര്
  4. vg_thin – വോളിയം ഗ്രൂപ്പിന്റെ പേര് ഞങ്ങൾക്ക് പൂൾ സൃഷ്ടിക്കേണ്ടതായിരുന്നു

കൂടുതൽ വിശദാംശങ്ങൾ ലഭിക്കുന്നതിന് നമുക്ക് 'lvdisplay' എന്ന കമാൻഡ് ഉപയോഗിക്കാം.

# lvdisplay vg_thin/tp_tecmint_pool

ഇവിടെ ഞങ്ങൾ ഈ തിൻ-പൂളിൽ വെർച്വൽ നേർത്ത വോള്യങ്ങൾ സൃഷ്ടിച്ചിട്ടില്ല. ചിത്രത്തിൽ 0.00% കാണിക്കുന്ന അലോക്കേറ്റഡ് പൂൾ ഡാറ്റ നമുക്ക് കാണാം.

-V (വെർച്വൽ) എന്ന ഓപ്uഷനുള്ള 'lvcreate' കമാൻഡിന്റെ സഹായത്തോടെ നമുക്ക് നേർത്ത പൂളിനുള്ളിലെ നേർത്ത വോള്യങ്ങൾ നിർവചിക്കാം.

# lvcreate -V 5G --thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

എന്റെ vg_thin വോളിയം ഗ്രൂപ്പിലെ tp_tecmint_pool-നുള്ളിൽ thin_vol_client1 എന്ന പേരിൽ ഒരു നേർത്ത വെർച്വൽ വോള്യം ഞാൻ സൃഷ്ടിച്ചു. ഇപ്പോൾ, താഴെയുള്ള കമാൻഡ് ഉപയോഗിച്ച് ലോജിക്കൽ വോള്യങ്ങൾ ലിസ്റ്റ് ചെയ്യുക.

# lvs 

ഇപ്പോൾ, ഞങ്ങൾ മുകളിൽ നേർത്ത വോളിയം സൃഷ്ടിച്ചു, അതിനാലാണ് ഡാറ്റ കാണിക്കാത്തത്, അതായത് 0.00%M.

ശരി, മറ്റ് 2 ക്ലയന്റുകൾക്കായി 2 കൂടുതൽ നേർത്ത വോള്യങ്ങൾ സൃഷ്ടിക്കാൻ എന്നെ അനുവദിക്കൂ. പൂളിന് കീഴിൽ സൃഷ്uടിച്ച 3 നേർത്ത വോള്യങ്ങൾ (tp_tecmint_pool) ഇവിടെ നിങ്ങൾക്ക് ഇപ്പോൾ കാണാൻ കഴിയും. അതിനാൽ, ഈ സമയം മുതൽ, ഞാൻ എല്ലാ 15 ജിബി പൂളും ഉപയോഗിച്ചുവെന്ന് ഞങ്ങൾ മനസ്സിലാക്കി.

ഇപ്പോൾ, മൗണ്ട് പോയിന്റുകൾ സൃഷ്ടിച്ച് ഈ മൂന്ന് നേർത്ത വോള്യങ്ങൾ മൌണ്ട് ചെയ്ത് താഴെയുള്ള കമാൻഡുകൾ ഉപയോഗിച്ച് അതിൽ ചില ഫയലുകൾ പകർത്തുക.

# mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

സൃഷ്ടിച്ച ഡയറക്ടറികൾ ലിസ്റ്റ് ചെയ്യുക.

# ls -l /mnt/

'mkfs' കമാൻഡ് ഉപയോഗിച്ച് സൃഷ്ടിച്ച ഈ നേർത്ത വോള്യങ്ങൾക്കായി ഫയൽ സിസ്റ്റം സൃഷ്ടിക്കുക.

# mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

'മൌണ്ട്' കമാൻഡ് ഉപയോഗിച്ച് മൂന്ന് ക്ലയന്റ് വോള്യങ്ങളും സൃഷ്ടിച്ച മൗണ്ട് പോയിന്റിലേക്ക് മൌണ്ട് ചെയ്യുക.

# mount /dev/vg_thin/thin_vol_client1 /mnt/client1/ && mount /dev/vg_thin/thin_vol_client2 /mnt/client2/ && mount /dev/vg_thin/thin_vol_client3 /mnt/client3/

'df' കമാൻഡ് ഉപയോഗിച്ച് മൌണ്ട് പോയിന്റുകൾ ലിസ്റ്റ് ചെയ്യുക.

# df -h

ഇവിടെ, എല്ലാ 3 ക്ലയന്റ് വോള്യങ്ങളും മൗണ്ട് ചെയ്തിരിക്കുന്നതായി നമുക്ക് കാണാൻ കഴിയും, അതിനാൽ എല്ലാ ക്ലയന്റ് വോള്യങ്ങളിലും ഡാറ്റയുടെ 3% മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ. അതിനാൽ, കുറച്ച് സ്ഥലം പൂരിപ്പിക്കുന്നതിന് എന്റെ ഡെസ്uക്uടോപ്പിൽ നിന്നുള്ള എല്ലാ 3 മൗണ്ട് പോയിന്റുകളിലേക്കും കുറച്ച് ഫയലുകൾ കൂടി ചേർക്കാം.

ഇപ്പോൾ മൗണ്ട് പോയിന്റ് ലിസ്റ്റുചെയ്യുക, എല്ലാ നേർത്ത വോള്യങ്ങളിലും ഉപയോഗിക്കുന്ന ഇടം കാണുക & പൂളിൽ ഉപയോഗിക്കുന്ന വലുപ്പം കാണുന്നതിന് നേർത്ത പൂൾ ലിസ്റ്റുചെയ്യുക.

# df -h
# lvdisplay vg_thin/tp_tecmint_pool

മുകളിലുള്ള കമാൻഡ് കാണിക്കുന്നു, മൂന്ന് മൌണ്ട് പിൻറ്റുകളും അവയുടെ വലുപ്പങ്ങളും ശതമാനത്തിൽ.

13% of datas used out of 5GB for client1
29% of datas used out of 5GB for client2
49% of datas used out of 5GB for client3

തിൻ-പൂളിലേക്ക് നോക്കുമ്പോൾ 30% ഡാറ്റ മാത്രമേ പൂർണ്ണമായി എഴുതിയിട്ടുള്ളൂ എന്ന് നമുക്ക് കാണാൻ കഴിയും. മുകളിലുള്ള മൂന്ന് ക്ലയന്റുകളുടെ വെർച്വൽ വോള്യങ്ങളുടെ ആകെത്തുകയാണ് ഇത്.

ഇപ്പോൾ നാലാമത്തെ ക്ലയന്റ് എന്റെ അടുത്ത് വന്ന് 5GB സ്റ്റോറേജ് സ്പേസ് ആവശ്യപ്പെട്ടു. എനിക്ക് നൽകാമോ? കാരണം ഞാൻ ഇതിനകം 15 ജിബി പൂൾ 3 ക്ലയന്റുകൾക്ക് നൽകിയിരുന്നു. മറ്റൊരു ക്ലയന്റിന് 5GB കൂടുതൽ നൽകാൻ കഴിയുമോ? അതെ, നൽകാൻ കഴിയും. ഇത് നമ്മൾ ഓവർ പ്രൊവിഷനിംഗ് ഉപയോഗിക്കുമ്പോൾ ആണ്, അതിനർത്ഥം എനിക്കുള്ളതിനേക്കാൾ കൂടുതൽ സ്ഥലം നൽകുക എന്നാണ്.

നാലാമത്തെ ക്ലയന്റിനായി 5GB സൃഷ്uടിച്ച് വലുപ്പം പരിശോധിച്ചുറപ്പിക്കാൻ എന്നെ അനുവദിക്കുക.

# lvcreate -V 5G --thin -n thin_vol_client4 vg_thin/tp_tecmint_pool
# lvs

എനിക്ക് പൂളിൽ 15 ജിബി വലുപ്പമേ ഉള്ളൂ, എന്നാൽ 20 ജിബി വരെ തിൻ പൂളിനുള്ളിൽ ഞാൻ 4 വോള്യങ്ങൾ സൃഷ്ടിച്ചു. നാല് ക്ലയന്റുകളും വേഗത നിറയ്ക്കാൻ അവരുടെ വോള്യങ്ങളിലേക്ക് ഡാറ്റ എഴുതാൻ തുടങ്ങിയാൽ, ആ സമയത്ത്, ഞങ്ങൾ ഗുരുതരമായ സാഹചര്യത്തെ അഭിമുഖീകരിക്കും, ഇല്ലെങ്കിൽ ഒരു പ്രശ്നവുമില്ല.

ഇപ്പോൾ ഞാൻ thin_vol_client4-ൽ ഫയൽ സിസ്റ്റം സൃഷ്ടിച്ചു, തുടർന്ന് /mnt/client4 എന്നതിൽ മൗണ്ട് ചെയ്uത് അതിൽ ചില ഫയലുകൾ പകർത്തി.

# lvs

പുതിയതായി സൃഷ്uടിച്ച ക്ലയന്റ് 4-ൽ 89.34% വരെ ഉപയോഗിച്ച മൊത്തം വലുപ്പവും 59.19% പോലെ നേർത്ത പൂളിന്റെ വലുപ്പവും മുകളിലെ ചിത്രത്തിൽ നമുക്ക് കാണാൻ കഴിയും. ഈ ഉപയോക്താക്കളെല്ലാം വോളിയത്തിൽ മോശമായി എഴുതുന്നില്ലെങ്കിൽ അത് ഓവർഫ്ലോ, ഡ്രോപ്പ് എന്നിവയിൽ നിന്ന് മുക്തമാകും. ഓവർഫ്ലോ ഒഴിവാക്കാൻ ഞങ്ങൾ നേർത്ത-കുളം വലുപ്പം നീട്ടേണ്ടതുണ്ട്.

പ്രധാനപ്പെട്ടത്: തിൻ-പൂളുകൾ ഒരു ലോജിക്കൽ വോള്യം മാത്രമാണ്, അതിനാൽ നമുക്ക് തിൻ-പൂളിന്റെ വലുപ്പം വർദ്ധിപ്പിക്കണമെങ്കിൽ, ലോജിക്കൽ വോള്യങ്ങൾ വിപുലീകരിക്കുന്നതിന് ഞങ്ങൾ ഉപയോഗിച്ച അതേ കമാൻഡ് ഉപയോഗിക്കാം, പക്ഷേ നേർത്തതിന്റെ വലുപ്പം കുറയ്ക്കാൻ നമുക്ക് കഴിയില്ല -കുളം.

# lvextend

ലോജിക്കൽ തിൻ-പൂൾ (tp_tecmint_pool) എങ്ങനെ വിപുലീകരിക്കാമെന്ന് ഇവിടെ കാണാം.

# lvextend -L +15G /dev/vg_thin/tp_tecmint_pool

അടുത്തതായി, നേർത്ത പൂൾ വലുപ്പം ലിസ്റ്റ് ചെയ്യുക.

# lvs

നേരത്തെ ഞങ്ങളുടെ tp_tecmint_pool വലുപ്പം 15GB ആയിരുന്നു, അത് 20GB വരെ പ്രൊവിഷനിൽ കൂടുതലായിരുന്നു. ഇപ്പോൾ അത് 30GB വരെ നീട്ടിയതിനാൽ ഞങ്ങളുടെ ഓവർ പ്രൊവിഷനിംഗ് നോർമലൈസ് ചെയ്uതു, നേർത്ത വോള്യങ്ങൾ ഓവർഫ്ലോ, ഡ്രോപ്പ് എന്നിവയിൽ നിന്ന് മുക്തമാണ്. ഇതുവഴി നിങ്ങൾക്ക് പൂളിലേക്ക് കൂടുതൽ നേർത്ത വോള്യങ്ങൾ ചേർക്കാൻ കഴിയും.

വോളിയം ഗ്രൂപ്പിന്റെ വലിയ വലിപ്പം ഉപയോഗിച്ച് എങ്ങനെ ഒരു നേർത്ത-കുളം സൃഷ്ടിക്കാമെന്നും, ഓവർ-പ്രൊവിഷനിംഗും പൂൾ വിപുലീകരണവും ഉപയോഗിച്ച് ഒരു നേർത്ത-കുളത്തിനുള്ളിൽ നേർത്ത-വോളിയം എങ്ങനെ സൃഷ്ടിക്കാമെന്നും ഞങ്ങൾ ഇവിടെ കണ്ടു. അടുത്ത ലേഖനത്തിൽ ഒരു lvm സ്ട്രിപ്പിംഗ് എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് നോക്കാം.