কীভাবে একটি ফিজিকাল পার্টিশন সিস্টেমকে এলভিএম-এ পরিবর্তন করতে হয়?


10

আমার সাথে ডেবিয়ান এর সাথে একটি সার্ভার রয়েছে যাতে সমস্ত ডিস্ককে coveringেকে রাখা 3 টি শারীরিক পার্টিশন রয়েছে: বুট, রুট y অদলবদল। এখন আমি সেই পার্টিশনগুলিকে LVM পার্টিশন দিয়ে প্রতিস্থাপন করতে চাই। আমি জানি কিভাবে শুরুতে এলভিএম দিয়ে ডেবিয়ান ইনস্টল করা যায় তবে এই ক্ষেত্রে আমি শুরুতে সিস্টেমটি ইনস্টল করতে পারি না কারণ সরবরাহকারী আমাকে রিমোট অ্যাক্সেস সহ একটি সার্ভার এবং সিস্টেমটি এইভাবে ইনস্টল করে।

আমি কীভাবে কেবলমাত্র একটি এসএসএস সংযোগ এবং সম্ভবত অন্যান্য দূরবর্তী সার্ভার ব্যবহার করে সেই পার্টিশনগুলি পরিবর্তন করতে পারি যেখানে কিছু অস্থায়ী ডেটা রাখতে হবে?


2
নিকট-ভোটারদের কাছে দ্রষ্টব্য: এটি রেফারেন্সযুক্ত প্রশ্নের একটি ধাপ নয় কারণ এখানে একটি মোচড় রয়েছে: সম্পূর্ণ দূরবর্তী।
sysadmin1138

উত্তর:


-1

আপনি কেবল চলমান সার্ভারে কেবলমাত্র /, / বুট এবং <অদ্বিতীয়> পার্টিশন দ্বারা প্রতিস্থাপন করতে পারবেন না। এটি করার একমাত্র উপায় হ'ল / পার্টিশনটি আনমাউন্ট করা, এটি সঙ্কুচিত করা এবং শেষে একটি নতুন এলভিএম পার্টিশন তৈরি করা, তবে আপনার কাছে কেবল দূরবর্তী এসএসএস অ্যাক্সেস রয়েছে তাই আপনি ডেটা দুর্নীতি ছাড়াই সম্ভবত একটি লাইভ, মাউন্ট করা পার্টিশন সঙ্কুচিত করতে পারবেন না।


3
একটি মাউন্ট করা অবস্থায় একটি ext3 ফাইল সিস্টেমের আকার পরিবর্তন করা সম্ভব: linux.die.net/man/8/ext2online
200_সাক্সেস

6
কখনও কখনও বলবেন না ...
দ্য ওয়াবিট

21

আমার পক্ষ থেকে একটি দ্রুত আপডেট। প্রসঙ্গ: আজ আমি অনলাইনে এলভিএমের পরিবর্তে শারীরিক বিভাজন স্কিমের সাথে একটি ডেডিকেটেড সার্ভার ইনস্টল করেছি। 3 টি পার্টিশন ছিল:

/ বুট (এক্সট 4) - 512 এম / (এক্সট 4) - 730 জি অদলবদল - 8 জি

কনসোল অ্যাক্সেস না করার প্রকৃতির কারণে চূড়ান্ত লক্ষ্যটি ছিল বিদ্যমান রুট পার্টিশনটিকে LVM তে রূপান্তর করা।

Ext4 বিবেচনা সঙ্কোচনযোগ্য নয় একমাত্র উপায় হ'ল অদলীয় রুট হিসাবে অদলবদল পুনরায় ব্যবহার করা। প্রক্রিয়াটি সঠিক উপায়ে কাজ করতে পারে তা নিশ্চিত করার জন্য আমি LVM এর সাথে অস্থায়ী রুট স্থাপন করার সিদ্ধান্ত নিয়েছি।

প্রথমে অদলবদলটি বের করা:

swapoff -a

তারপরে পার্টেডের মাধ্যমে পার্টিশনটি পুনরায় আকার দিন (মূলত এটি 2৪২ থেকে 50৫০ থেকে শুরু হয়েছিল):

parted
resize 3 742 744

এবং LVM এর জন্য একটি পার্টিশন তৈরি করেছে:

mkpart primary ext2 744 750
set 4 lvm on

অস্থায়ী রুটের জন্য পিভি / ভিজি / এলভি / ফাইল সিস্টেম তৈরি:

pvcreate /dev/sda4
vgcreate VolGroup00 /dev/sda4
lvcreate -L 5.73G -n tmproot VolGroup00
mkfs.ext4 /dev/VolGroup00/tmproot

পরবর্তী পদক্ষেপটি ছিল অস্থায়ী স্থানে রুটটি অনুলিপি করা:

mount /dev/VolGroup00/tmproot /media
rsync -ravzxq / /media/

একবার যখন সমস্ত কিছু ছিল তখন / মিডিয়া / ইত্যাদি / fstab এর মূল ফাইল সিস্টেমের জন্য প্রবেশিকাটিও পরিবর্তন করতে হবে:

/dev/VolGroup00/tmproot /                       ext4    defaults        1 1

প্রায় সেখানে, শেষ এবং বলি যে কনসোল অ্যাক্সেস ছাড়াই সর্বাধিক অযাচিত অংশটি ছিল /boot/grub/grub.conf পরিবর্তন করা:

আসল প্রবেশ:

title CentOS (2.6.32-279.22.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro root=UUID=e769af21-d9e1-455f-a6a7-7a9c84d8cbea rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=hu rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img

পরিবর্তিত এন্ট্রি:

title CentOS (2.6.32-279.22.1.el6.x86_64) LVM
insmod lvm
kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=hu SYSFONT=latarcyrheb-sun16 crashkernel=auto dolvm root=/dev/mapper/VolGroup00-tmproot panic=10 
#rd_NO_DM rd_NO_MD rd_NO_LUKS
initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img

কেবল নিরাপদ দিকে থাকতে হবে: কার্নেলের জন্য ডলভম প্যারামিটারের সাথে ইনসোড lvm যুক্ত করা হয়েছিল এবং রুট পাথটিও রুট = / ডিভ / ম্যাপার / ভলগ্রুপ 100-টেম্প্রোটে পরিবর্তন করা হয়েছিল। এই সময়ে / ডেভেল / ম্যাপার / পাথ ব্যবহার করা গুরুত্বপূর্ণ। একটি নিরাপদ আমানত হিসাবে আমি প্যানিক = 10 প্যারামিটার যুক্ত করেছি এবং হেডারে ডিফল্ট বুট এন্ট্রি পরিবর্তন করি নি। এর পরিবর্তে আমি গ্রাবকে কেবলমাত্র একবারে নতুন সেটিং দিয়ে বুট করার চেষ্টা করেছি এবং ব্যর্থতার ক্ষেত্রে আসল প্রবেশটি কাজ করতে পারে:

grub
savedefault --default=1 --once

এবং পরিশেষে:

reboot

এটি আমার জন্য প্রথমবারে ঠিক ছিল তাই আমি মূল মূল বিভাজনের শীর্ষে একটি নতুন ভলিউম গ্রুপ তৈরি করে পুরো প্রক্রিয়াটি পুনরাবৃত্তি করেছি এবং শেষ পর্যন্ত আমি এলভিএম ব্যবহার করে সঠিক স্থানে রুটটি পেয়েছি।

আশাকরি এটা সাহায্য করবে.


1
এটি আমার 2 ডিস্ক রাইড 1 সেটআপটিকে সম্পূর্ণরূপে রিমোটে এলভিএম-তে রূপান্তর করার জন্য খুব ভালভাবে কাজ করেছে (কিছু স্পেয়ার ডিস্ক প্রাক-ইনস্টল থাকা ছিল)। গ্রুব 2-তে যদিও একবার মেনু এন্ট্রিতে পুনরায় বুট করার নতুন উপায়টি হ'ল প্রথমে আপনার / ইত্যাদি / ডিফল্ট / গ্রুব ফাইলটি সম্পাদনা করে GRUB_DEFAULT = সংরক্ষণ করা হয়েছে তা নিশ্চিত করা। তারপরে update-grub। তারপরে আপনি grub-reboot #কেবলমাত্র পুনরায় বুট করার জন্য মেনু আইটেমটি সেট করতে ছুটে যান। তারপরে আপনি রিবুট করতে পারেন।
কেসী

গ্রাব কনফিগারেশন পরিবর্তন করার জন্য উবুন্টু (এবং ডেবিয়ান) এর নিজস্ব সিস্টেম রয়েছে। এতে রুট পার্টিশন আপডেট করার পদ্ধতি এখানে নির্দিষ্টভাবে পরিষ্কার করা যেতে পারে: unix.stackexchange.com/a/5318/192211
EFraim

3

লিনাক্সে কিছুই অসম্ভব নয়, তবে আপনি যা বর্ণনা করেছেন তা চেষ্টা করার জন্য আপনাকে দৃ determined়প্রতিজ্ঞ এবং উন্মাদ হতে হবে। মনে রাখবেন যে আপনার যদি কেবল এসএসএইচ অ্যাক্সেস থাকে তবে আপনার যদি ভুল হয়ে থাকে তবে আপনি সার্ভারের অ্যাক্সেস হারাবেন এমন একটি ভাল সম্ভাবনা রয়েছে। আপনার যদি একটি দূরবর্তী "সিরিয়াল" কনসোল এবং ভার্চুয়াল পাওয়ার স্যুইচ থাকে তবে এটি কিছুটা সহায়তা করতে পারে। এটি বলেছিল, যদি কোনও ব্র্যান্ডের নতুন ইনস্টলেশন হ্রাস করার কোনও ডেটা না থাকে তবে কেন চেষ্টা করবেন না? আমি একটি লিনাক্স সিস্টেমকে দূর থেকে RAID1 এ রূপান্তর করতে একটি টিউটোরিয়াল পেয়েছি ; আপনি এলভিএম-এর জন্য যে পদক্ষেপগুলি চেষ্টা করবেন তা অভিন্ন হবে।

প্রথমে আসুন অস্থায়ী সঞ্চয় স্থানের প্রয়োজনীয়তা বিবেচনা করি। ধরে নিচ্ছি যে সার্ভারে আপনার দ্বিতীয় ডিস্ক নেই, আপনি ব্যবহার করে বিদ্যমান পার্টিশনগুলি সঙ্কুচিতparted করতে পারেন । অবশ্যই, এটির জন্য আপনার বুট এবং রুট পার্টিশনগুলির ডিস্কের অর্ধেকেরও কম ব্যবহার করা দরকার এবং সেগুলি সঙ্কুচিতযোগ্য ফাইল সিস্টেম ব্যবহার করতে হবে। (উদাহরণস্বরূপ, এক্সএফএস এবং জেএফএস সংকোচনের যোগ্য নয়))

আপনার বিদ্যমান পার্টিশনগুলি সঙ্কুচিত করার পরে, আপনি খালি স্থানটিতে একটি এলভিএম শারীরিক ভলিউম, একটি ভলিউম গ্রুপ এবং এর ভিতরে লজিক্যাল ভলিউম তৈরি করতে পারেন। আপনার ফাইল সিস্টেমগুলি প্রতিলিপি করুন। (আপনার রুট ফাইল সিস্টেমে প্রতিলিপি দেওয়ার সময়, আপনার ব্যতীত সমস্ত কিছুই মুছে ফেলা উচিত sshdএবং আদর্শভাবে একক-ব্যবহারকারী মোডে rsyncথাকা উচিত ddsince যেহেতু আপনি একটি মাউন্ট করা ফাইলসিস্টেমটি প্রতিলিপি করছেন তার পরিবর্তে আপনাকে সম্ভবত ব্যবহার করতে হবে ))

তারপরে, আপনি এলভিএম সমর্থন সহ একটি আরআরডি প্রস্তুত করবেন এবং ওয়ারেন টোগামির টিউটোরিয়ালে বর্ণিত GRUB কে নতুন সিস্টেমে বুট করার জন্য বলবেন। একবার আপনি এটি partedকরেন, LVM ভলিউম ব্যবহার করে এবং বাড়ানো পুরানো ফাইল সিস্টেমগুলি মুছে ফেলা সহজ বিষয় ।

শুভকামনা! এটা কাজ করে কিনা তা আমাদের জানিও!


3

আমি এর আগে আমার মূল পার্টিশনটি "/" স্থানান্তরিত করেছি যা একটি ডিস্ক বিভাজন "/ dev / sda2" এর দিকে ইঙ্গিত করছিল 10G সহ 10G দ্বারা একটি এলভি বিভাজনে, সঞ্চালিত পদক্ষেপগুলি নিম্নলিখিত ছিল:

  • 10 জি এর ভিএমওয়ারে একটি হার্ড ডিস্ক যুক্ত করুন।
  • সিস্টেমটি পুনরায় বুট না করেই ডিস্কটি সনাক্ত করুন।
ls / sys / class / scsi_host / | এক্স পড়ার সময়; কর প্রতিধ্বনি "- -" "/ sys / শ্রেণী / scsi_host / $ {x} / স্ক্যান; সম্পন্ন
  • নতুন ডিস্কে একটি বিভাজন তৈরি করুন, ধরুন আমার নতুন ডিস্কটি / dev / sdb হয়
  • সাথে কাজ করা:
fdisk / dev / sdb
  • "Fdisk" ইন্টারফেসে থাকাকালীন + 9G ক্ষমতার কী "এন" বরাদ্দ করে একটি পার্টিশন তৈরি করতে দেয়, তারপরে কী "t" বরাদ্দকারী "8e" (lvm পার্টিশন) দিয়ে টাইপ পার্টিশন পরিবর্তন করতে হবে এবং শেষ পর্যন্ত কী "w" পরিবর্তনগুলি প্রয়োগ করতে পারে , আপনি যদি দেখতে চান যে পার্টিশন টেবিলটি কীভাবে দেখায় আপনি কী "পি" টিপতে পারেন।
  • পার্টিশনটি তৈরি হয়ে গেলে, আমরা যাচাই করতে পারি যে ডিভাইসটি নিম্নলিখিত কমান্ড দিয়ে তৈরি করা হয়েছে (ডিস্কটি ব্যবহার না করা হলে কমান্ডটি কাজ করে):
পার্টপ্রোব / দেব / এসডিবি
  • ডিভাইসটি একবার শারীরিকভাবে প্রস্থান করলে, নিম্নলিখিত ক্রমে LVM অবজেক্ট তৈরি করতে দিন:
pvcreate / dev / sdb1
vgcreate vg_root / dev / sdb1
lvcreate -v -n lv_root vg_root -L 9G
  • একবার এলভি ইউনিট তৈরি হয়ে গেলে, একটি এফএস নির্ধারণ করতে এবং এটি বর্তমান সিস্টেমে মাউন্ট করতে দেয়।
mkfs -t ext4 / dev / vg_root / lv_root
এমকেডির / এমএনটি / নতুন_রোট /
মাউন্ট -t এক্সট 4 / দেব / ভিজি_রূট / এলভি_রোট / এমএনটি / নতুন_রোট /
  • আপনার বর্তমান পার্টিশনের এফএস কী তা আপনি যদি জানেন না তবে এটি কমান্ডগুলির সাহায্যে খুঁজে পাওয়া যাবে:
df -lhT
বিড়াল / ইত্যাদি / fstab
blkid
  • যখন নতুন এলভি মাউন্ট করা হয়েছে তখন আমরা সিস্টেমের সমস্ত ফাইল অনুলিপি করতে পারি।
সন্ধান / -দেব | সিপিও-পিএমভিডি / এমএনটি / নতুন_রোট /
  • ফাইলগুলি অনুলিপি করা হয়ে গেলে আমরা "ক্রুট" পরিবর্তন করতে এগিয়ে যেতে পারি তবে কিছু পার্টিশন মাউন্ট করার আগে:
সিডি / এমএনটি / নতুন_রোট /
মাউন্ট -t proc / proc proc
মাউন্ট -t sysfs / sys sys /
মাউন্ট --rbind / দেব দেব /
  • এখন chroot পরিবর্তন করতে দিন
ক্রুট / এমএনটি / নতুন_রোট /
  • একবার আমরা নতুন রুটে আসার পরে ফাইলটি পরিবর্তন করুন:
vi / etc / fstab
  • ফাইলটি প্রায় অনুরূপ ছেড়ে চলেছে:
# ইউআইডিউ = 98 ডিডি 25 বিএ-ফিড -4 ডিডিবি -80বে -5 ই 2 ডি 1 এবি 2 বিডিএ / এক্সট 4 ডিফল্ট 1 1
/ dev / mapper / vg_root-lv_root / ext4 ডিফল্ট 1 1
  • একবার ফাইলটি যথাযথভাবে সংশোধন করা হয়ে গেলে, সেলিনাক্স "প্রয়োগকারী" বা "অনুমতিপ্রাপ্ত" এর সাথে কাজ করার ক্ষেত্রে কেবল "./autorelabel" নামের সাথে মূলটিতে একটি ফাইল তৈরি করতে দিন lets
স্পর্শ। / অটোরেলাবেল
  • এখন / mnt / new-root এর ক্রুট পরিবেশ থেকে বেরিয়ে আসুন
প্রস্থান
  • যদি আপনার দৃশ্যের উপর ভিত্তি করে পরিবর্তনগুলি করা হয়ে থাকে, তবে সর্বশেষ পরিবর্তনগুলির মধ্যে একটি সম্পাদন করা যাক, এটি গ্রুব ফাইল "/boot/grub/grub.conf" পরিবর্তন করে একটি নতুন মেনু যুক্ত করে (নতুন তিলেল আপনার বর্তমান বুট বিকল্পটি সংশোধন করবেন না) একটি যুক্ত সঠিকভাবে কাজ করে)।
# আগে
শিরোনাম CentOS 6 (2.6.32-573.el6.x86_64)
        মূল (hd0,0)
        কার্নেল /vmlinuz-2.6.32-573.el6.x86_64 রো রুট = ইউইউডি = 98dd25ba-ফিড -4ddb-80be-5e2d1ab2bdaa rd_NO_LUKS ল্যাং = en_US.UTF-8 rd_NO_MD SYSFONT = লটারসিয়ার -আরসিআরএইচআরইচআরএইচআরইএইচআরইএইচআরইএইচআরইএইচআরইচআরএইচআরএইচআরইচআরএইচআরএইচআরইচআরএইচআরএইচআরইথআর rd_NO_DM rhgb নিরিবিলি
        initrd /initramfs-2.6.32-573.el6.x86_64.img

# এখন
শিরোনাম CentOS 6 (2.6.32-573.el6.x86_64)
        মূল (hd0,0)
        কার্নেল /vmlinuz-2.6.32-573.el6.x86_64 রো রুট = ইউইউডি = 98dd25ba-ফিড -4ddb-80be-5e2d1ab2bdaa rd_NO_LUKS ল্যাং = en_US.UTF-8 rd_NO_MD SYSFONT = লটারসিয়ার -আরসিআরএইচআরইচআরএইচআরইএইচআরইএইচআরইএইচআরইএইচআরইচআরএইচআরএইচআরইচআরএইচআরএইচআরইচআরএইচআরএইচআরইথআর rd_NO_DM rhgb নিরিবিলি
        initrd /initramfs-2.6.32-573.el6.x86_64.img

শিরোনাম CentOS 6 (2.6.32-573.el6.x86_64-lvroot)
        মূল (hd0,0)
        insmod lvm
        কার্নেল /vmlinuz-2.6.32-573.el6.x86_64 র ডলভম রুট = / dev / mapper / vg_root-lv_root rd.lvm.lv = vg_root / lv_root LANG = en_US.UTF-8 SYSFONT = latarcyrheb-sun16 ক্রাশকারকআরআরআরকিআরআরআরআরআরকেশনআরআরআরআরআরআরআশেকআরআর = পিসি KEYTABLE = আমাদের rhgb শান্ত
        initrd /initramfs-2.6.32-573.el6.x86_64.img

# যোগ করা লাইন ছিল 
শিরোনাম CentOS 6 (2.6.32-573.el6.x86_64-lvroot)
        মূল (hd0,0)
        insmod lvm
        কার্নেল /vmlinuz-2.6.32-573.el6.x86_64 র ডলভম রুট = / dev / mapper / vg_root-lv_root rd.lvm.lv = vg_root / lv_root LANG = en_US.UTF-8 SYSFONT = latarcyrheb-sun16 ক্রাশকারকআরআরআরকিআরআরআরআরআরকেশনআরআরআরআরআরআরআশেকআরআর = পিসি KEYTABLE = আমাদের rhgb শান্ত
        initrd /initramfs-2.6.32-573.el6.x86_64.img
  • গ্রাব ফাইলের পরিবর্তনগুলি হয়ে গেলে, নতুন একটি আরআরডি আইসো ফাইলটি পুনরায় তৈরি করা শেষ করা যাক:
সিডি / বুট
cp -av initramfs - $ (uname -r) .img initramfs - $ (uname -r) .img.old
dracut -f
  • অবশেষে একটি রিবুট:
init 6
# বা
পুনরায় বুট করার
  • গ্রাব মেনুটি উপস্থিত হয়ে গেলে নতুনটি "CentOS 6 (2.6.32-573.el6.x86_64-lvroot)" যুক্ত করুন এবং এটি সঠিকভাবে কাজ করছে তা যাচাই করুন।
  • যদি সিস্টেমটি সঠিকভাবে কাজ করে এবং "/ dev / sda" ব্যবহার না করে তবে এটি সরানো এবং আপনার ভিএম বা ফিজিক সার্ভার থেকে বিচ্ছিন্ন হতে পারে।
ডিডি যদি = / দেব / শূন্য = / দেব / এসডিএ বিএস = 1
  • গ্রাব মেনুতে "/boot/grub/grub.conf" এ যুক্ত হওয়া নতুন আইটেমটি ডিফল্ট এন্ট্রি হিসাবে সর্বশেষ খাড়া সেট করা হয়েছে:
# ডিফল্ট = 0
ডিফল্ট = 1

আশা করি পূর্বে প্রদত্ত তথ্য কারও পক্ষে সহায়ক হবে।

আগাম ধন্যবাদ,

মানুয়েল লাজো


1

তিনি একটি মধ্যবর্তী উদ্ধার ব্যবস্থা স্থাপন করতে পারেন (পূর্বে অক্ষম) অদলবদল পার্টিশন (আপনার যদি মেশিনে আরএসি না থাকে তবে স্নায়ু ধ্বংসস্তূপের কাজ) করতে পারেন এবং সেখান থেকে কাজ করতে পারেন। এছাড়াও, অনলাইন ফাইল আকারের সরঞ্জামগুলি নির্দিষ্ট ফাইল সিস্টেমগুলির জন্য উপস্থিত রয়েছে এবং তারপরে পার্টিশনটি সঙ্কুচিত করা এবং পুনরায় বুট করা কেডব্লুওয়াইডি-র ক্ষেত্রে তবে সম্ভব।


আরও দুটি ক্রেজিড আইডিয়া বর্ণনা করার জন্য যা এমনকি ডিস্কে আক্ষরিকভাবে কেবলমাত্র একটি বিভাজনের সাথে কাজ করবে: ক) মূল পার্টিশনে একটি বড় ফাঁকা ফাইল তৈরি করুন এটি নিশ্চিত করে যে এটি বরাদ্দ করা হয়েছে, লুপব্যাক ড্রাইভারের মাধ্যমে এটিতে কাজ করুন ... তারপরে মুঞ্জ পার্টিশন টেবিলটি সেই ফাইলের ফিজিকাল প্রথম ব্লকে পার্টিশনটি শুরু করতে হবে। খ) ক্রুট (অথবা এখনও সম্ভব হলে পিভট_রুট) নিজেকে একটি র‌্যামডিস্কে পরিণত করুন এবং সেখানে একটি বেস এবং ব্যাকআপ সেট করুন ... আপনার অধীনে আসল মূল ফাইল সিস্টেমটি জোর করুন।
রেক্যান্ডবোনম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.