Minio යනු සරල, වේගවත්, AWS S3 අනුකූල වස්තු ගබඩාවකි. Minio නිර්මාණය කර ඇත්තේ ඡායාරූප, වීඩියෝ, ලොග් ගොනු, උපස්ථ වැනි ව්යුහගත නොවන දත්ත සංග්රහ කිරීමටයි. minio බෙදාහැරීමේ මාදිලියට සහය දක්වයි, එය විවිධ යන්ත්රවල පිහිටා ඇති ඒවා ඇතුළුව එක් වස්තු ගබඩා සේවාදායකයකට බහු තැටි සම්බන්ධ කිරීමේ හැකියාව සපයයි.
මෙම සටහනේ අරමුණ වන්නේ සෑම පරිශීලකයෙකුටම තමාගේම බාල්දියකින් පමණක් වැඩ කළ හැකි පරිදි minio වින්යාස කිරීමයි.
පොදුවේ, Minio පහත සඳහන් අවස්ථා සඳහා සුදුසු වේ:
- S3 හරහා ප්රවේශය සහිත විශ්වාසනීය ගොනු පද්ධතියක් මත ප්රතිනිර්මාණය නොවන ගබඩාව (NAS සහ SAN මත සත්කාරකත්වය දරන කුඩා හා මධ්යම ආචයනය);
- S3 ප්රවේශය සහිත (සංවර්ධනය සහ පරීක්ෂණය සඳහා) විශ්වාස කළ නොහැකි ගොනු පද්ධතියක් මත ප්රතිනිර්මාණය නොකළ ගබඩාව;
- S3 ප්රොටෝකෝලය හරහා ප්රවේශය සහිත එක් රාක්කයක කුඩා සේවාදායක සමූහයක් මත අනුකරණයක් සහිත ගබඩා කිරීම (රාක්කයට සමාන අසාර්ථක වසමක් සහිත අසාර්ථක ගබඩාව).
RedHat පද්ධති මත අපි නිල නොවන Minio ගබඩාව සම්බන්ධ කරමු.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
/etc/minio/minio.conf හි MINIO_ACCESS_KEY සහ MINIO_SECRET_KEY ජනනය කර එක් කරන්න.
# Custom username or access key of minimum 3 characters in length.
MINIO_ACCESS_KEY=
# Custom password or secret key of minimum 8 characters in length.
MINIO_SECRET_KEY=
ඔබ Minio වලට පෙර nginx භාවිතා නොකරන්නේ නම්, ඔබ වෙනස් කළ යුතුය.
--address 127.0.0.1:9000
මත
--address 0.0.0.0:9000
අපි Minio දියත් කරමු.
systemctl start minio
අපි Minio වෙත myminio නමින් සම්බන්ධතාවයක් සාදන්නෙමු.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
බාල්දි user1bucket එකක් සාදන්න.
minio-mc mb myminio/user1bucket
බාල්දි user2bucket එකක් සාදන්න.
minio-mc mb myminio/user2bucket
user1-policy.json ප්රතිපත්ති ගොනුවක් සාදන්න.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutBucketPolicy",
"s3:GetBucketPolicy",
"s3:DeleteBucketPolicy",
"s3:ListAllMyBuckets",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user1bucket"
],
"Sid": ""
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user1bucket/*"
],
"Sid": ""
}
]
}
user2-policy.json ප්රතිපත්ති ගොනුවක් සාදන්න.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutBucketPolicy",
"s3:GetBucketPolicy",
"s3:DeleteBucketPolicy",
"s3:ListAllMyBuckets",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user2bucket"
],
"Sid": ""
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user2bucket/*"
],
"Sid": ""
}
]
}
මුරපදය test1 සමඟ පරිශීලක පරිශීලකයෙකු සාදන්න.
minio-mc admin user add myminio user1 test12345
මුරපදය test2 සමඟ පරිශීලක පරිශීලකයෙකු සාදන්න.
minio-mc admin user add myminio user2 test54321
අපි user1-policy.json ගොනුවෙන් Minio හි user1-policy නමින් ප්රතිපත්තියක් සාදන්නෙමු.
minio-mc admin policy add myminio user1-policy user1-policy.json
අපි user2-policy.json ගොනුවෙන් Minio හි user2-policy නමින් ප්රතිපත්තියක් සාදන්නෙමු.
minio-mc admin policy add myminio user2-policy user2-policy.json
පරිශීලක1-ප්රතිපත්ති ප්රතිපත්තිය පරිශීලක පරිශීලක1 වෙත යොදන්න.
minio-mc admin policy set myminio user1-policy user=user1
පරිශීලක2-ප්රතිපත්ති ප්රතිපත්තිය පරිශීලක පරිශීලක2 වෙත යොදන්න.
minio-mc admin policy set myminio user2-policy user=user2
පරිශීලකයින්ට ප්රතිපත්ති සම්බන්ධ කිරීම පරීක්ෂා කිරීම
minio-mc admin user list myminio
පරිශීලකයන් වෙත ප්රතිපත්ති සම්බන්ධය පරීක්ෂා කිරීම මෙවැනි දෙයක් පෙනෙනු ඇත
enabled user1 user1-policy
enabled user2 user2-policy
පැහැදිලිකම සඳහා, බ්රවුසරය හරහා ලිපිනය වෙත යන්න
MINIO_ACCESS_KEY=user1 යටතේ අපි Minio වෙත සම්බන්ධ වූ බව අපට පෙනේ. user1bucket බාල්දිය අපට ලබා ගත හැකිය.
ප්රතිපත්තියේ අනුරූප ක්රියාවක් නොමැති බැවින් බාල්දියක් සෑදීමට නොහැකි වනු ඇත.
අපි බාල්දි user1bucket එකේ file එකක් හදමු.
MINIO_ACCESS_KEY=user2 යටතේ Minio වෙත සම්බන්ධ වෙමු. user2bucket බාල්දිය අපට ලබා ගත හැකිය.
තවද අපට user1bucket හෝ user1bucket වෙතින් ගොනු නොපෙනේ.
Minio භාවිතයෙන් Telegram කතාබස් නිර්මාණය කළා
මූලාශ්රය: www.habr.com