diff --git a/pkg/local_object_storage/shard/control_test.go b/pkg/local_object_storage/shard/control_test.go
index 170052d63..3f0a19cd4 100644
--- a/pkg/local_object_storage/shard/control_test.go
+++ b/pkg/local_object_storage/shard/control_test.go
@@ -43,6 +43,8 @@ type objAddr struct {
 }
 
 func TestShardOpen(t *testing.T) {
+	t.Parallel()
+
 	dir := t.TempDir()
 	metaPath := filepath.Join(dir, "meta")
 
@@ -111,6 +113,8 @@ func TestShardOpen(t *testing.T) {
 }
 
 func TestRefillMetabaseCorrupted(t *testing.T) {
+	t.Parallel()
+
 	dir := t.TempDir()
 
 	fsTree := fstree.New(
@@ -164,6 +168,8 @@ func TestRefillMetabaseCorrupted(t *testing.T) {
 }
 
 func TestRefillMetabase(t *testing.T) {
+	t.Parallel()
+
 	p := t.Name()
 
 	defer os.RemoveAll(p)
diff --git a/pkg/local_object_storage/shard/delete_test.go b/pkg/local_object_storage/shard/delete_test.go
index 9646e9aa0..441e1c455 100644
--- a/pkg/local_object_storage/shard/delete_test.go
+++ b/pkg/local_object_storage/shard/delete_test.go
@@ -13,11 +13,15 @@ import (
 )
 
 func TestShard_Delete(t *testing.T) {
+	t.Parallel()
+
 	t.Run("without write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardDelete(t, false)
 	})
 
 	t.Run("with write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardDelete(t, true)
 	})
 }
diff --git a/pkg/local_object_storage/shard/gc_test.go b/pkg/local_object_storage/shard/gc_test.go
index b0126fcd7..acc039cd2 100644
--- a/pkg/local_object_storage/shard/gc_test.go
+++ b/pkg/local_object_storage/shard/gc_test.go
@@ -25,6 +25,8 @@ import (
 )
 
 func Test_GCDropsLockedExpiredObject(t *testing.T) {
+	t.Parallel()
+
 	var sh *shard.Shard
 
 	epoch := &epochState{
diff --git a/pkg/local_object_storage/shard/get_test.go b/pkg/local_object_storage/shard/get_test.go
index ea28c8e32..2db86c48a 100644
--- a/pkg/local_object_storage/shard/get_test.go
+++ b/pkg/local_object_storage/shard/get_test.go
@@ -17,11 +17,15 @@ import (
 )
 
 func TestShard_Get(t *testing.T) {
+	t.Parallel()
+
 	t.Run("without write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardGet(t, false)
 	})
 
 	t.Run("with write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardGet(t, true)
 	})
 }
diff --git a/pkg/local_object_storage/shard/head_test.go b/pkg/local_object_storage/shard/head_test.go
index 11e7a8b04..7e336ea06 100644
--- a/pkg/local_object_storage/shard/head_test.go
+++ b/pkg/local_object_storage/shard/head_test.go
@@ -15,11 +15,15 @@ import (
 )
 
 func TestShard_Head(t *testing.T) {
+	t.Parallel()
+
 	t.Run("without write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardHead(t, false)
 	})
 
 	t.Run("with write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardHead(t, true)
 	})
 }
diff --git a/pkg/local_object_storage/shard/inhume_test.go b/pkg/local_object_storage/shard/inhume_test.go
index 0b4e51701..4151d6218 100644
--- a/pkg/local_object_storage/shard/inhume_test.go
+++ b/pkg/local_object_storage/shard/inhume_test.go
@@ -13,11 +13,15 @@ import (
 )
 
 func TestShard_Inhume(t *testing.T) {
+	t.Parallel()
+
 	t.Run("without write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardInhume(t, false)
 	})
 
 	t.Run("with write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardInhume(t, true)
 	})
 }
diff --git a/pkg/local_object_storage/shard/list_test.go b/pkg/local_object_storage/shard/list_test.go
index e0759f668..bbce28430 100644
--- a/pkg/local_object_storage/shard/list_test.go
+++ b/pkg/local_object_storage/shard/list_test.go
@@ -14,6 +14,8 @@ import (
 )
 
 func TestShard_List(t *testing.T) {
+	t.Parallel()
+
 	t.Run("without write cache", func(t *testing.T) {
 		t.Parallel()
 		sh := newShard(t, false)
diff --git a/pkg/local_object_storage/shard/lock_test.go b/pkg/local_object_storage/shard/lock_test.go
index c577ae184..75010179a 100644
--- a/pkg/local_object_storage/shard/lock_test.go
+++ b/pkg/local_object_storage/shard/lock_test.go
@@ -23,6 +23,8 @@ import (
 )
 
 func TestShard_Lock(t *testing.T) {
+	t.Parallel()
+
 	var sh *shard.Shard
 
 	rootPath := t.TempDir()
diff --git a/pkg/local_object_storage/shard/metrics_test.go b/pkg/local_object_storage/shard/metrics_test.go
index 1578c662b..16f6989c4 100644
--- a/pkg/local_object_storage/shard/metrics_test.go
+++ b/pkg/local_object_storage/shard/metrics_test.go
@@ -72,6 +72,8 @@ const physical = "phy"
 const logical = "logic"
 
 func TestCounters(t *testing.T) {
+	t.Parallel()
+
 	dir := t.TempDir()
 	sh, mm := shardWithMetrics(t, dir)
 
diff --git a/pkg/local_object_storage/shard/range_test.go b/pkg/local_object_storage/shard/range_test.go
index c95dbae98..4574ce415 100644
--- a/pkg/local_object_storage/shard/range_test.go
+++ b/pkg/local_object_storage/shard/range_test.go
@@ -22,11 +22,14 @@ import (
 )
 
 func TestShard_GetRange(t *testing.T) {
+	t.Parallel()
 	t.Run("without write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardGetRange(t, false)
 	})
 
 	t.Run("with write cache", func(t *testing.T) {
+		t.Parallel()
 		testShardGetRange(t, true)
 	})
 }
diff --git a/pkg/local_object_storage/shard/reload_test.go b/pkg/local_object_storage/shard/reload_test.go
index 9ad05f525..0b964ba2e 100644
--- a/pkg/local_object_storage/shard/reload_test.go
+++ b/pkg/local_object_storage/shard/reload_test.go
@@ -24,6 +24,8 @@ import (
 )
 
 func TestShardReload(t *testing.T) {
+	t.Parallel()
+
 	p := t.Name()
 	defer os.RemoveAll(p)
 
diff --git a/pkg/local_object_storage/shard/shutdown_test.go b/pkg/local_object_storage/shard/shutdown_test.go
index 947bd73fd..76b20d659 100644
--- a/pkg/local_object_storage/shard/shutdown_test.go
+++ b/pkg/local_object_storage/shard/shutdown_test.go
@@ -16,6 +16,8 @@ import (
 )
 
 func TestWriteCacheObjectLoss(t *testing.T) {
+	t.Parallel()
+
 	const (
 		smallSize = 1024
 		objCount  = 100