এলভিএম দিয়ে কোনও এক্সটি 4 ভলিউম অন-লাইন সঙ্কুচিত করা সম্ভব?


47

আজ আমি ওপেনসুএস 12.3 (কার্নেল 3.7) দিয়ে আমার মেশিনে এটি চেষ্টা করেছি:

# resize2fs /dev/mapper/system-srv 2G
resize2fs 1.42.6 (21-Sep-2012)
Filesystem at /dev/mapper/system-srv is mounted on /srv; on-line resizing required
resize2fs: On-line shrinking not supported

/dev/mapper/system-srv একটি এক্সটি 4 ভলিউম।

এটি কি সত্যিই অসমর্থিত বা আমি কিছু মিস করছি?

উত্তর:


68

বার্তাটি যেমন বলেছে, আপনি কেবল অনলাইনে একটি ফাইল সিস্টেম বৃদ্ধি করতে পারেন । আপনি যদি এটি সঙ্কুচিত করতে চান তবে আপনাকে প্রথমে এটি আনমাউন্ট করতে হবে।

এক্সট 4 ফাইল সিস্টেম রক্ষণাবেক্ষণকারী , টেড সি'ও অনুসারে:

দুঃখিত, অন-লাইন সঙ্কুচিত সমর্থিত নয়।


12
এটি দুঃখের বিষয় ...
অ্যালিসিয়া

5
ডাউনটাতে কি আছে?
মাইকেল হ্যাম্পটন

16
@ মিশেলহ্যাম্পটন - ম্যাসেঞ্জারের শুটিংয়ে কিছু মরন? : ডি
টিঙ্ক

2
এটি ছিল 10 বছর আগে। এটি এখনও কার্যকর করা হয়েছে?
দুয়ান

@ডুয়ান নং এটি নেই। এটি কখনও হয়, সম্ভবত হয় না।
মাইকেল হ্যাম্পটন

16

হ্যাঁ, আপনি কোনও রিবুট ছাড়াই একটি মূল পার্টিশন সঙ্কুচিত / সরানো / বাড়িয়ে নিতে পারেন (না লাইভসিডি, না ইউএসবি): এই উত্তরের সাথে পরামর্শ করুন । এটি বেশ ভাল লিখিত এবং অনুসরণ করা সহজ, যদিও এটি বেশ দীর্ঘ এবং কিছুটা ঝুঁকিপূর্ণ।

resize2fs অনলাইন ext4পার্টিশন সঙ্কুচিত করতে পারে না । এই সীমাবদ্ধতাটি যখন মূল পার্টিশনের উপর প্রয়োগ করা হয় তখন আপনি ভাবতে পারেন যে rootপার্টিশন সঙ্কুচিত করার জন্য হোস্টকে রিবুট করা এড়াতে পারবেন না , এটি এমন কিছু হতে পারে যা আপনি এড়াতে চান। সংযুক্ত প্রক্রিয়া আপনাকে কোনও রিবুট ছাড়াই মূল পার্টিশনটি সীমাবদ্ধ করতে দেয়। সুতরাং এই আলোকে এটি শক্তিশালীভাবে পার্টিশনের মাউন্টের অবস্থার বিষয়ে অনলাইনে পুনরায় আকার দেওয়ার কথা বলছে না , তবে এটি নেটওয়ার্কের অনলাইন স্ট্যাটাস বা হোস্টের পুনঃব্যবস্থার ক্ষেত্রে একটি অনলাইন আকার পরিবর্তন করে।

অবশ্যই, আপনি যদি কেবল আপনার ext4 পার্টিশনটি বাড়িয়ে তুলতে চান তবে আপনার প্রচলিত কাজের resize2fsসমাধানগুলিতে লেগে থাকা উচিত ।

আমি যে সাধারণ সমাধানটি যুক্ত করেছি তা উদাহরণস্বরূপ যে কোনও ধরণের উত্সর্গীকৃত বা ভিপিএস সমাধানে কাজ করবে।

TLDR; এই সমাধান করতে বোঝা pivot_rootথেকে tmpfsতাই আপনি যা করতে পারেন umountনিরাপদে আপনার রুট পার্টিশন লাইভ এবং এটির সাথে বেহালার। একবার হয়ে গেলে, আপনি pivot_rootআপনার নতুন রুট পার্টিশনটি ফিরে পাবেন ।

এটি রুট ফাইল সিস্টেমে কোনও হেরফেরের অনুমতি দেয় (এটিকে সরান, ফাইল সিস্টেম পরিবর্তন করুন, এটির দৈহিক ডিভাইস পরিবর্তন করে ...)।

আমি ব্যক্তিগতভাবে এটি ব্যবহার করেছি এবং এটি ডেবিয়ান সিস্টেমেও খুব ভালভাবে কাজ করে, তবে গাইডটি প্রাথমিকভাবে ২০০ 2007 সালে রেডহ্যাটের জন্য লেখা হয়েছিল, আমি যে উত্তরটি যুক্ত করেছি সেটিকে সেন্টোস for এর জন্য আপডেট করা হয়েছিল। এটি আপনার ওপেনসুসে কাজ করবে এটি অত্যন্ত সম্ভাব্য, যদিও সম্ভবত কিছু অভিযোজন সহ।


4
'অনলাইন বৃদ্ধি' এর সাথে তুলনা করার ক্ষেত্রে এটি 'অনলাইন' নয়। সমস্ত পরিষেবাদি অবশ্যই ডাউন হবে এবং আপনার মূল ফাইল সিস্টেমটি অ্যাক্সেসযোগ্য হবে। এই মন্তব্যে লাইভসিডি বা ইনিরামফ / আরডিএসএল পদ্ধতির সাথে এটির বিপরীতে মূল্যবান হতে পারে। লোকেরা এতে বিভ্রান্ত হওয়ার জন্য আমি ঘৃণা করতাম।
ব্রায়ান ক্রিসম্যান

2
@ ব্রায়ান ক্রিশম্যান এটি প্রকৃতপক্ষে একটি গ্যাচা যা স্পষ্ট করার যোগ্যতা অর্জন করেছে এবং আমি আশা করি যে আমি আমার পোস্টে একটি সম্পাদনা কভার করেছি। মতামতের জন্য অনেক ধন্যবাদ।
vaab

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

13

কেসটি যদি কনসোল ছাড়াই রিমোট সার্ভার হয় তবে আপনি রিবুট করার সময় থিমরামগুলি ব্যবহার করে ফাইল সিস্টেম সঙ্কুচিত করতে পারেন। আপনাকে আরম্ভ করতে হবে পুনরায় আকার 2fs টি পুনরায় চালনার আগে আরম্ভ করতে হবে root

ডেবিয়ান / উবুন্টু উদাহরণ:

/ etc / initramfs- সরঞ্জাম / hooks / resizefs (এক্সিকিউটেবল):

#!/bin/sh

set -e

PREREQS=""

prereqs() { echo "$PREREQS"; }

case $1 in
    prereqs)
        prereqs
        exit 0
    ;;
esac

. /usr/share/initramfs-tools/hook-functions

copy_exec /sbin/e2fsck
copy_exec /sbin/resize2fs

exit 0

/ etc / initramfs- সরঞ্জাম / স্ক্রিপ্টস / স্থানীয়-প্রিমাউন্ট / পুনরায় আকার (কার্যকরযোগ্য)

#!/bin/sh

set -e

PREREQS=""

prereqs() { echo "$PREREQS"; }

case "$1" in
    prereqs)
        prereqs
        exit 0
    ;;
esac

/sbin/e2fsck -yf /dev/sda1
/sbin/resize2fs /dev/sda1 5G
/sbin/e2fsck -yf /dev/sda1

এখন আপডেট-থ্রিম্ফগুলি চালান, পুনরায় বুট করুন, চেক আকার করুন, এই স্ক্রিপ্টগুলি সরিয়ে ফেলুন এবং আপডেট-ইনটিরামফগুলি আবার করুন।

ড্র্যাকট (ফেডোরা, সেন্টোস) এর জন্য একই যুক্তি (/usr/lib/dracut/modules.d) ব্যবহার করুন।

এটি নতুন পার্টিশনের জন্য কোনও ফাঁকা জায়গা ছাড়া ক্রিপ্টিং বা রুটফেসগুলি মুভিংয়ের জন্য খুব দরকারী very


2
এটি একটি কবজির মতো কাজ করে। নোট করুন যে আপনাকে -u বিকল্পের সাহায্যে আপডেট-থ্রোমাফ চালাতে হবে।
ডায়োমিডিস স্পিনেলিস

কুল। আমার ক্ষেত্রে আমারও দরকার ছিল update-grub
ওয়াজিয়াচ ক্যাকজমারেেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.