আমি কীভাবে একটি LUKS পার্টিশন সঙ্কুচিত করতে পারি, `ক্রিপ্টসেটআপ পুনরায় আকার দিতে পারে?


14

আমি একটি LUKS এনক্রিপ্ট করা পার্টিশনটির আকার পরিবর্তন করতে চলেছি যেখানে একটি একক ext4 ফাইল সিস্টেম রয়েছে (LVM বা কিছু নেই)। Cryptsetup প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী পুরাতন পার্টিশন মুছে ফেলুন এবং এটি পুনরায় তৈরি, কিন্তু যে অনেক সময় নষ্ট মত শব্দ পরামর্শ দেওয়া হচ্ছে। সুতরাং আমি নিজেই পার্টিশনটি পুনরায় আকারে পরিবর্তন করতে চাই carefully

এখনও অবধি, আমার মনে হয় আমার এটি করা দরকার:

  1. ফাইল সিস্টেমের একটি (এনক্রিপ্ট করা) ব্যাকআপ তৈরি করুন। গুরুত্বপূর্ণ! নিম্নলিখিত কাজগুলি সম্পাদন করার সময় আপনি আপনার ডেটা হারাতে প্রথম নন।
  2. বিদ্যমান ext4 ফাইল সিস্টেমটি আনমাউন্ট করুন (যেমন একটি লাইভ সিডি বুট করে)। লাইভ সিডি থেকে বুট করা থাকলে এনক্রিপ্ট করা পার্টিশনটি ব্যবহার করে মাউন্ট করুনcryptsetup luksOpen /dev/sdXY ExistingExt4
  3. বিদ্যমান ext4 ফাইল সিস্টেমকে পুনরায় আকার দিন
  4. cryptsetup resize /dev/mapper/ExistingExt4 -b $SECTORS
  5. LUKS পার্টিশনটি ব্যবহার করে বন্ধ / "আনমাউন্ট" করুন cryptsetup luksClose ExistingExt4
  6. পার্টিশনের আকার সঙ্কুচিত করুন।

উপরের পদক্ষেপগুলি কি সঠিক?

চতুর্থ ধাপে, আমার কী জন্য বেছে নেওয়া উচিত $SECTORS? এই পদক্ষেপটি কি প্রয়োজনীয়? cryptsetupম্যানুয়েল পৃষ্ঠা সত্যিই উপর বর্ণনামূলক নয় resizeবিকল্প:

resize <name>
    resizes an active mapping <name>.
    If --size (in sectors) is not specified, the size of the underlying
    block device is used.

অবশেষে, যদি আমি এক্স জি 4 বিভাজনটি 15 জিআইবি দ্বারা সঙ্কুচিত করি, তবে আমি কী নিরাপদে ধরে নিতে পারি যে 15 জিআইবি ব্যবহার করে বিদ্যমান পার্টিশনটি থেকে অপসারণ করা যাবে parted? যদি হ্যাঁ, কিভাবে এটি? আমার ডিস্কটি জিপিটি পার্টিশনযুক্ত, যদি এটি বিবেচনা করে।


1
আমি সবসময় ক্রিপসেটআপে পুনরায় আকার দেওয়ার বিকল্প সম্পর্কেও ভাবতাম। এমনকি ক্রিপ্টসেটআপ এফএকিউতে বলা হয়েছে: "২.১৫ আমি কি কোনও ডিএম-ক্রিপ্ট বা এলইউকেএস পার্টিশনটি আকার দিতে পারি? হ্যাঁ, আপনি ডিএম-ক্রিপ্ট বা LUKS পার্টিশনের আকার সংরক্ষণ করতে পারবেন না।" পার্টিশনের আকারের সাথে এর কোনও সম্পর্ক না থাকলে কেন এটির আকার পরিবর্তন করতে পারে ...
ডাগো

উত্তর:


15

ব্যাক আপ (পদক্ষেপ 1) এবং আনমাউন্ট করার পরে (2 থেকে 3 এর মধ্যে), fsckফাইল সিস্টেমটি সুস্থ আছে কিনা তা নিশ্চিত করতে চালান :

e2fsck -f /dev/mapper/ExistingExt4

তা ছাড়া, পদক্ষেপগুলি ঠিক আছে।

CT সেক্টরগুলির জন্য আমার কী পছন্দ করা উচিত? এই পদক্ষেপটি কি প্রয়োজনীয়?

এই পদক্ষেপটি প্রয়োজনীয়, অন্যথায় পার্টিশনটি এখনও পুরানো অংশে প্রদর্শিত হবে। এটি নটিলাসের সাথে নিশ্চিত করা হয়েছে, আবার আকার দেওয়ার পরেও resize2fs, LUKS পার্টিশনটি পুরানো আকার হিসাবে প্রদর্শিত হয়েছিল showed দৌড়ানোর পরে cryptsetup resize, সঠিক সংখ্যাটি প্রদর্শিত হবে। এই পদক্ষেপটি প্রয়োজনীয় নয়। ফাইল ব্রাউজারে প্রদর্শিত হিসাবে এটি কেবলমাত্র বর্তমান আকারের স্থিতিকে প্রভাবিত করে। আকার পরিবর্তন করার পরে এবং পুনরায় পার্টিশনটি বন্ধ / খোলার পরে, নম্বরটি পুনরুদ্ধার করা হবে। সুতরাং, LUKS পার্টিশনটি বন্ধ করার পরে পরে দেখানো যেমন এই অপ্রচলিত হয়ে যাবে।

$SECTORSএর আউটপুট দেখে নির্ধারণ করা যেতে পারে cryptsetup status ExistingExt4:

    / dev / mapper / ExistingExt4 সক্রিয়।
      প্রকার: LUKS1
      সাইফার: আইস-সিবিসি-এসিভ: শ 256
      কীসাইজ: 256 বিট
      ডিভাইস: / dev / sda2
      অফসেট: 2056 সেক্টর
      আকার:     156049348 সেক্টর
      মোড: পড়ুন / লিখুন

একটি ক্ষেত্র সর্বদা 512 বাইট ( cryptsetupম্যানুয়াল পৃষ্ঠায় উল্লিখিত )। সুতরাং, 15 জিআইবি বিয়োগ করতে, একটি সেক্টর আকার ব্যবহার করুন 156049348 - 15 * 1024 * 1024 * 2 = 124592068:

cryptsetup resize ExistingExt4 -b 124592068

পার্টিশনের আকার পরিবর্তন করার জন্য, partedজিপিটি পার্টিশনগুলির সাথে সূক্ষ্মভাবে কাজ করে। resizeকমান্ড তবে কাজ না করে, একটি ওয়ার্কঅ্যারাউন্ড (অথবা সলিউশন) হিসাবে, পার্টিশন তথ্য সরাতে এবং দ্বারা অনুপ্রাণিত একটি নতুন পার্টিশন তৈরি http://ubuntuforums.org/showthread.php?p=8721017#post8721017 :

# Cryptsetup luksClose ExistingExt4 
# parted, / dev / sda2
জিএনইউ পার্টেড ২.৩
/ Dev / sda ব্যবহার করা হচ্ছে
GNU পার্টডে স্বাগতম! কমান্ডের একটি তালিকা দেখতে 'সহায়তা' টাইপ করুন।
(পার্টেড) ইউনিট s 
(পার্টেড) পি
মডেল: এটিএ ইনটেল এসএসডিএসএ 2 সিডব্লিউ08 (এসসিআই)
ডিস্ক / দেব / এসডিএ: 156301488 এস
সেক্টরের আকার (যৌক্তিক / শারীরিক): 512 বি / 512 বি
পার্টিশন টেবিল: জিপিপি

নম্বর শুরু শেষ আকার ফাইল সিস্টেমের নাম পতাকা
 1 34s 2082s 2049s বুট বায়ো_গ্রাব
 3 2083s 250034s 247952 এস এক্স 2 রুটবুট
 2 250035s 156301438s 156051404s সবকিছু

15 জিআইবি যেমন শেভ করতে হয়, তখন নতুন প্রান্তটি হয়ে যায় 156301438 - 15 * 1024 * 1024 * 2 = 124844158। যেহেতু আমি পার্টিশন ২ পরিবর্তন করতে চাই, তাই প্রথমে আমি এটি সরিয়ে ফেলতে হবে এবং তারপরে "সবকিছু" লেবেলটি দিয়ে এটি পুনরায় তৈরি করতে হবে (যদি আপনি চান তবে এটি পরিবর্তন করা যেতে পারে)। দ্রষ্টব্য : এই ডিস্কটিতে একটি জিপিটি লেআউট রয়েছে। MBR- এ জন্য, আপনি প্রতিস্থাপন করা উচিত Everythingদ্বারা primaryবা extended(অপরীক্ষিত, মাপ MBR- এ একটি পার্টিশন করেছেন না পরীক্ষা করা হয়েছে এবং না বাঞ্ছনীয় কারণ এটি অপরীক্ষিত যায়)।

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

(বিভক্ত) আরএম 2 
(বিভক্ত) এমকিপার্ট 250035 এস 124844158 এস
সতর্কতা: ফলাফলের পার্টিশনটি সর্বোত্তম পারফরম্যান্সের জন্য সঠিকভাবে সংযুক্ত করা হয়নি।
উপেক্ষা করুন / বাতিল করবেন? উপেক্ষা 
(বিভক্ত) পি
মডেল: এটিএ ইনটেল এসএসডিএসএ 2 সিডব্লিউ08 (এসসিআই)
ডিস্ক / দেব / এসডিএ: 156301488 এস
সেক্টরের আকার (যৌক্তিক / শারীরিক): 512 বি / 512 বি
পার্টিশন টেবিল: জিপিপি

নম্বর শুরু শেষ আকার ফাইল সিস্টেমের নাম পতাকা
 1 34s 2082s 2049s বুট বায়ো_গ্রাব
 3 2083s 250034s 247952 এস এক্স 2 রুটবুট
 2 250035s   124844158s 124594124s                সবকিছু
(বিভক্ত) প্রস্থান

উপরের partedউদাহরণে, আমার সেক্টরগুলি সারিবদ্ধ নয় যা পূর্ববর্তী ইনস্টলেশন থেকে ভুল, এটিতে খুব বেশি মনোযোগ দেবেন না।

হ্যাঁ, ওটাই! আপনি ব্যবহার করতে পারেন cryptsetup statusএবং file -Ls /dev/...তা যাচাই করতে সবকিছু ঠিক এবং তারপর পুনরায় বুট করুন।


1
আমি সম্পূর্ণ ব্যাকআপ ছাড়াই এই সমাধানটি ব্যবহার করার বিরুদ্ধে দৃ strongly়ভাবে পরামর্শ দিচ্ছি, কারণ এটির ভুল হওয়ার খুব বেশি সম্ভাবনা রয়েছে। তবে আপনার যদি পুরো ব্যাকআপ থাকে তবে নতুন পার্টিশন তৈরি করা অনেক সহজ।

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

আপনি যে ব্যর্থতা উল্লেখ করেছেন তার জন্যও কি আপনার উত্স আছে? প্রত্যেকে দাবি করতে পারে যে প্রদত্ত তথ্যটি ভুল, তবে আমি এটি যাচাই করতে চাই। এটি ভবিষ্যতে অন্যান্য ব্যবহারকারীর জন্য সহায়ক হতে পারে ...
লেকেনস্টেইন

আরনো এই পোস্টটির বিষয়ে মেলিং তালিকায় কথা বলছিলেন: saout.de/pipermail/dm-crypt/2013-
ফিলিপ

বদলে rm 2এবং mkpart [part-type] [start] [end]পাশাপাশি কেউ ব্যবহার করতে পারেন resizepart 2 [end]নাম পরিবর্তন না করে একটি পার্টিশন আকার পরিবর্তন করতে বা অফসেট শুরু।
রব ডব্লু

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